[PATCH v3 0/7] cpuset: implement sane hierarchy behaviors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



v2 -> v3:

- remove async hotplug propagation work
- do propagation work in one place for both hotplug and unplug

v1 -> v2:

- add documentation in include/linux/cgroup.h
- drop rcu_read_lock() before calling update_task_nodemask() when iterating
cpuset hierarchy

======================================

Currently some cpuset behaviors are not friendly when cpuset is co-mounted
with other cgroup controllers.

Now with this patchset if cpuset is mounted with sane_behavior option, it
behaves differently:

- 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.

- A task can be moved into an empty cpuset, and again it takes masks of
ancestors, so the user can drop a task into a newly created cgroup without
having to do anything for it.

As tasks can reside in empy cpusets, here're some rules:

- They can be moved to another cpuset, regardless it's empty or not.

- Though it takes masks from ancestors, it takes other configs from the
empty cpuset.

- If the ancestors' masks are changed, those tasks will also be updated
to take new masks.

Li Zefan (7):
  cpuset: let hotplug propagation work wait for task attaching
  cpuset: remove async hotplug propagation work
  cpuset: record old_mems_allowed in struct cpuset
  cpuset: introduce effective_{cpumask|nodemask}_cpuset()
  cpuset: allow to keep tasks in empty cpusets
  cpuset: allow to move tasks to empty cpusets
  cpuset: fix to migrate mm correctly in a corner case

 include/linux/cgroup.h |   7 +
 kernel/cpuset.c        | 390 ++++++++++++++++++++++++++++++++-----------------
 2 files changed, 264 insertions(+), 133 deletions(-)

-- 
1.8.0.2
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/containers




[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux