Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 811158b1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
  trivial: Update my email address
  trivial: NULL noise: drivers/mtd/tests/mtd_*test.c
  trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h
  trivial: Fix misspelling of "Celsius".
  trivial: remove unused variable 'path' in alloc_file()
  trivial: fix a pdlfush -> pdflush typo in comment
  trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL
  trivial: wusb: Storage class should be before const qualifier
  trivial: drivers/char/bsr.c: Storage class should be before const qualifier
  trivial: h8300: Storage class should be before const qualifier
  trivial: fix where cgroup documentation is not correctly referred to
  trivial: Give the right path in Documentation example
  trivial: MTD: remove EOL from MODULE_DESCRIPTION
  trivial: Fix typo in bio_split()'s documentation
  trivial: PWM: fix of #endif comment
  trivial: fix typos/grammar errors in Kconfig texts
  trivial: Fix misspelling of firmware
  trivial: cgroups: documentation typo and spelling corrections
  trivial: Update contact info for Jochen Hein
  trivial: fix typo "resgister" -> "register"
  ...
parents 4e76c5cc b26e0ed4
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -1412,8 +1412,8 @@ P: 1024D/77D4FC9B F5C5 1C20 1DFC DEC3 3107 54A4 2332 ADFC 77D4 FC9B
D: National Language Support
D: National Language Support
D: Linux Internationalization Project
D: Linux Internationalization Project
D: German Localization for Linux and GNU software
D: German Localization for Linux and GNU software
S: Kriemhildring 12a
S: Auf der Fittel 18
S: 65795 Hattersheim am Main
S: 53347 Alfter
S: Germany
S: Germany


N: Christoph Hellwig
N: Christoph Hellwig
@@ -3580,6 +3580,12 @@ N: Dirk Verworner
D: Co-author of German book ``Linux-Kernel-Programmierung''
D: Co-author of German book ``Linux-Kernel-Programmierung''
D: Co-founder of Berlin Linux User Group
D: Co-founder of Berlin Linux User Group


N: Riku Voipio
E: riku.voipio@iki.fi
D: Author of PCA9532 LED and Fintek f75375s hwmon driver
D: Some random ARM board patches
S: Finland

N: Patrick Volkerding
N: Patrick Volkerding
E: volkerdi@ftp.cdrom.com
E: volkerdi@ftp.cdrom.com
D: Produced the Slackware distribution, updated the SVGAlib
D: Produced the Slackware distribution, updated the SVGAlib
+2 −2
Original line number Original line Diff line number Diff line
@@ -86,6 +86,8 @@ cachetlb.txt
	- describes the cache/TLB flushing interfaces Linux uses.
	- describes the cache/TLB flushing interfaces Linux uses.
cdrom/
cdrom/
	- directory with information on the CD-ROM drivers that Linux has.
	- directory with information on the CD-ROM drivers that Linux has.
cgroups/
	- cgroups features, including cpusets and memory controller.
connector/
connector/
	- docs on the netlink based userspace<->kernel space communication mod.
	- docs on the netlink based userspace<->kernel space communication mod.
console/
console/
@@ -98,8 +100,6 @@ cpu-load.txt
	- document describing how CPU load statistics are collected.
	- document describing how CPU load statistics are collected.
cpuidle/
cpuidle/
	- info on CPU_IDLE, CPU idle state management subsystem.
	- info on CPU_IDLE, CPU idle state management subsystem.
cpusets.txt
	- documents the cpusets feature; assign CPUs and Mem to a set of tasks.
cputopology.txt
cputopology.txt
	- documentation on how CPU topology info is exported via sysfs.
	- documentation on how CPU topology info is exported via sysfs.
cris/
cris/
+18 −0
Original line number Original line Diff line number Diff line
00-INDEX
	- this file
cgroups.txt
	- Control Groups definition, implementation details, examples and API.
cpuacct.txt
	- CPU Accounting Controller; account CPU usage for groups of tasks.
cpusets.txt
	- documents the cpusets feature; assign CPUs and Mem to a set of tasks.
devices.txt
	- Device Whitelist Controller; description, interface and security.
freezer-subsystem.txt
	- checkpointing; rationale to not use signals, interface.
memcg_test.txt
	- Memory Resource Controller; implementation details.
memory.txt
	- Memory Resource Controller; design, accounting, interface, testing.
resource_counter.txt
	- Resource Counter API.
+5 −5
Original line number Original line Diff line number Diff line
@@ -56,7 +56,7 @@ hierarchy, and a set of subsystems; each subsystem has system-specific
state attached to each cgroup in the hierarchy.  Each hierarchy has
state attached to each cgroup in the hierarchy.  Each hierarchy has
an instance of the cgroup virtual filesystem associated with it.
an instance of the cgroup virtual filesystem associated with it.


At any one time there may be multiple active hierachies of task
At any one time there may be multiple active hierarchies of task
cgroups. Each hierarchy is a partition of all tasks in the system.
cgroups. Each hierarchy is a partition of all tasks in the system.


User level code may create and destroy cgroups by name in an
User level code may create and destroy cgroups by name in an
@@ -124,10 +124,10 @@ following lines:
                               / \
                               / \
                       Prof (15%) students (5%)
                       Prof (15%) students (5%)


Browsers like firefox/lynx go into the WWW network class, while (k)nfsd go
Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd go
into NFS network class.
into NFS network class.


At the same time firefox/lynx will share an appropriate CPU/Memory class
At the same time Firefox/Lynx will share an appropriate CPU/Memory class
depending on who launched it (prof/student).
depending on who launched it (prof/student).


With the ability to classify tasks differently for different resources
With the ability to classify tasks differently for different resources
@@ -325,7 +325,7 @@ and then start a subshell 'sh' in that cgroup:
Creating, modifying, using the cgroups can be done through the cgroup
Creating, modifying, using the cgroups can be done through the cgroup
virtual filesystem.
virtual filesystem.


To mount a cgroup hierarchy will all available subsystems, type:
To mount a cgroup hierarchy with all available subsystems, type:
# mount -t cgroup xxx /dev/cgroup
# mount -t cgroup xxx /dev/cgroup


The "xxx" is not interpreted by the cgroup code, but will appear in
The "xxx" is not interpreted by the cgroup code, but will appear in
@@ -539,7 +539,7 @@ always handled well.
void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)
void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)
(cgroup_mutex held by caller)
(cgroup_mutex held by caller)


Called at the end of cgroup_clone() to do any paramater
Called at the end of cgroup_clone() to do any parameter
initialization which might be required before a task could attach.  For
initialization which might be required before a task could attach.  For
example in cpusets, no task may attach before 'cpus' and 'mems' are set
example in cpusets, no task may attach before 'cpus' and 'mems' are set
up.
up.
+6 −6
Original line number Original line Diff line number Diff line
@@ -131,7 +131,7 @@ Cpusets extends these two mechanisms as follows:
 - The hierarchy of cpusets can be mounted at /dev/cpuset, for
 - The hierarchy of cpusets can be mounted at /dev/cpuset, for
   browsing and manipulation from user space.
   browsing and manipulation from user space.
 - A cpuset may be marked exclusive, which ensures that no other
 - A cpuset may be marked exclusive, which ensures that no other
   cpuset (except direct ancestors and descendents) may contain
   cpuset (except direct ancestors and descendants) may contain
   any overlapping CPUs or Memory Nodes.
   any overlapping CPUs or Memory Nodes.
 - You can list all the tasks (by pid) attached to any cpuset.
 - You can list all the tasks (by pid) attached to any cpuset.


@@ -226,7 +226,7 @@ nodes with memory--using the cpuset_track_online_nodes() hook.
--------------------------------
--------------------------------


If a cpuset is cpu or mem exclusive, no other cpuset, other than
If a cpuset is cpu or mem exclusive, no other cpuset, other than
a direct ancestor or descendent, may share any of the same CPUs or
a direct ancestor or descendant, may share any of the same CPUs or
Memory Nodes.
Memory Nodes.


A cpuset that is mem_exclusive *or* mem_hardwall is "hardwalled",
A cpuset that is mem_exclusive *or* mem_hardwall is "hardwalled",
@@ -427,7 +427,7 @@ child cpusets have this flag enabled.
When doing this, you don't usually want to leave any unpinned tasks in
When doing this, you don't usually want to leave any unpinned tasks in
the top cpuset that might use non-trivial amounts of CPU, as such tasks
the top cpuset that might use non-trivial amounts of CPU, as such tasks
may be artificially constrained to some subset of CPUs, depending on
may be artificially constrained to some subset of CPUs, depending on
the particulars of this flag setting in descendent cpusets.  Even if
the particulars of this flag setting in descendant cpusets.  Even if
such a task could use spare CPU cycles in some other CPUs, the kernel
such a task could use spare CPU cycles in some other CPUs, the kernel
scheduler might not consider the possibility of load balancing that
scheduler might not consider the possibility of load balancing that
task to that underused CPU.
task to that underused CPU.
@@ -533,7 +533,7 @@ Of course it takes some searching cost to find movable tasks and/or
idle CPUs, the scheduler might not search all CPUs in the domain
idle CPUs, the scheduler might not search all CPUs in the domain
every time.  In fact, in some architectures, the searching ranges on
every time.  In fact, in some architectures, the searching ranges on
events are limited in the same socket or node where the CPU locates,
events are limited in the same socket or node where the CPU locates,
while the load balance on tick searchs all.
while the load balance on tick searches all.


For example, assume CPU Z is relatively far from CPU X.  Even if CPU Z
For example, assume CPU Z is relatively far from CPU X.  Even if CPU Z
is idle while CPU X and the siblings are busy, scheduler can't migrate
is idle while CPU X and the siblings are busy, scheduler can't migrate
@@ -601,7 +601,7 @@ its new cpuset, then the task will continue to use whatever subset
of MPOL_BIND nodes are still allowed in the new cpuset.  If the task
of MPOL_BIND nodes are still allowed in the new cpuset.  If the task
was using MPOL_BIND and now none of its MPOL_BIND nodes are allowed
was using MPOL_BIND and now none of its MPOL_BIND nodes are allowed
in the new cpuset, then the task will be essentially treated as if it
in the new cpuset, then the task will be essentially treated as if it
was MPOL_BIND bound to the new cpuset (even though its numa placement,
was MPOL_BIND bound to the new cpuset (even though its NUMA placement,
as queried by get_mempolicy(), doesn't change).  If a task is moved
as queried by get_mempolicy(), doesn't change).  If a task is moved
from one cpuset to another, then the kernel will adjust the tasks
from one cpuset to another, then the kernel will adjust the tasks
memory placement, as above, the next time that the kernel attempts
memory placement, as above, the next time that the kernel attempts
Loading