cpuset: allow to keep tasks in empty cpusets
To achieve this: - We call update_tasks_cpumask/nodemask() for empty cpusets when hotplug happens, instead of moving tasks out of them. - When a cpuset's masks are changed by writing cpuset.cpus/mems, we also update tasks in child cpusets which are empty. v3: - do propagation work in one place for both hotplug and unplug v2: - drop rcu_read_lock before calling update_task_nodemask() and update_task_cpumask(), instead of using workqueue. - add documentation in include/linux/cgroup.h Signed-off-by: Li Zefan <lizefan@huawei.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -277,6 +277,10 @@ enum {
|
||||
*
|
||||
* - Remount is disallowed.
|
||||
*
|
||||
* - cpuset: tasks will be kept in empty cpusets when hotplug happens
|
||||
* and take masks of ancestors with non-empty cpus/mems, instead of
|
||||
* being moved to an ancestor.
|
||||
*
|
||||
* - memcg: use_hierarchy is on by default and the cgroup file for
|
||||
* the flag is not created.
|
||||
*
|
||||
|
Reference in New Issue
Block a user