Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA <at> public.gmane.org>
Subject: [PATCH v3 0/7] cpuset: implement sane hierarchy behaviors
Newsgroups: gmane.linux.kernel.cgroups
Date: Sunday 9th June 2013 09:14:02 UTC (over 4 years ago)
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
 
CD: 3ms