Messages in this thread | | | Date | Wed, 21 Aug 2013 17:58:42 +0800 | From | Li Zefan <> | Subject | [PATCH 00/11] cpuset: separate configured masks and effective masks |
| |
This patcheset introduces behavior changes, but only if you mount cgroupfs with sane_behavior option:
- We introduce new interfaces cpuset.effective_cpus and cpuset.effective_mems, while cpuset.cpus and cpuset.mems will be configured masks.
- The configured masks can be changed by writing cpuset.cpus/mems only. They won't be changed when hotplug happens.
- Users can config cpus and mems without restrictions from the parent cpuset. effective masks will enforce the hierarchical behavior.
- Users can also config cpus and mems to have already offlined CPU/nodes.
- When a CPU/node is onlined, it will be brought back to the effective masks if it's in the configured masks.
- We build sched domains based on effective cpumask but not configured cpumask.
Li Zefan (11): cgroup: allow subsystems to create files for sane_behavior only cpuset: add cs->real_cpus_allowed and cs->real_mems_allowed cpuset: update cpuset->real_{cpus,mems}_allowed at hotplug cpuset: update cs->real_{cpus,mems}_allowed when config changes cpuset: inherite ancestor's masks if real_{cpus,mems}_allowed become empty cpuset: apply cs->real_{cpus,mems}_allowed cpuset: use effective cpumask to build sched domains cpuset: separate configured masks and efffective masks cpuset: enable onlined cpu/node in effective masks cpuset: allow writing offlined masks to cpuset.cpus/mems cpuset: export effective masks to userspace
include/linux/cgroup.h | 1 + kernel/cgroup.c | 2 + kernel/cpuset.c | 466 ++++++++++++++++++++++++++++--------------------- 3 files changed, 271 insertions(+), 198 deletions(-)
-- 1.8.0.2
| |