Commit 02499431 authored by Li Zefan's avatar Li Zefan Committed by Linus Torvalds

cpuset: hotplug documentation fix

If all the cpus in a cpuset are offlined, the tasks in it will be moved to
the nearest ancestor with non-empty cpus.
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Acked-by: default avatarPaul Jackson <pj@sgi.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4e74339a
...@@ -635,14 +635,16 @@ prior 'mems' setting, will not be moved. ...@@ -635,14 +635,16 @@ prior 'mems' setting, will not be moved.
There is an exception to the above. If hotplug functionality is used There is an exception to the above. If hotplug functionality is used
to remove all the CPUs that are currently assigned to a cpuset, to remove all the CPUs that are currently assigned to a cpuset,
then the kernel will automatically update the cpus_allowed of all then all the tasks in that cpuset will be moved to the nearest ancestor
tasks attached to CPUs in that cpuset to allow all CPUs. When memory with non-empty cpus. But the moving of some (or all) tasks might fail if
hotplug functionality for removing Memory Nodes is available, a cpuset is bound with another cgroup subsystem which has some restrictions
similar exception is expected to apply there as well. In general, on task attaching. In this failing case, those tasks will stay
the kernel prefers to violate cpuset placement, over starving a task in the original cpuset, and the kernel will automatically update
that has had all its allowed CPUs or Memory Nodes taken offline. User their cpus_allowed to allow all online CPUs. When memory hotplug
code should reconfigure cpusets to only refer to online CPUs and Memory functionality for removing Memory Nodes is available, a similar exception
Nodes when using hotplug to add or remove such resources. is expected to apply there as well. In general, the kernel prefers to
violate cpuset placement, over starving a task that has had all
its allowed CPUs or Memory Nodes taken offline.
There is a second exception to the above. GFP_ATOMIC requests are There is a second exception to the above. GFP_ATOMIC requests are
kernel internal allocations that must be satisfied, immediately. kernel internal allocations that must be satisfied, immediately.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment