Skip to content

cpuset: separate configured masks and effective masks

Li Zefan cgroups lkml 3 versions – Applied

Status from this message: Applied to cgroup/for-3.17. For the review points, please follow up

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest12 patches 6 repliesApplied
  2. v212 patches 3 repliesSuperseded
  3. v111 patches 23 repliesSuperseded

Changes in v3 from the cover letter

- rebased against "cgroup: remove sane_behavior support on non-default hierarchies"
- addressed previous review comments
- adjusted some code, comment and changelog slightly

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/12cpuset: add cs->effective_cpus and cs->effective_memskernel/cpuset.c+48 -111 reply
2/12cpuset: update cpuset->effective_{cpus,mems} at hotplugkernel/cpuset.c+4 -00 replies
3/12cpuset: update cs->effective_{cpus,mems} when config changeskernel/cpuset.c+54 -341 reply
4/12cpuset: inherit ancestor's masks if effective_{cpus,mems} becomes emptykernel/cpuset.c+22 -00 replies
5/12cpuset: use effective cpumask to build sched domainskernel/cpuset.c+17 -111 reply
6/12cpuset: initialize top_cpuset's configured masks at mountkernel/cpuset.c+28 -90 replies
7/12cpuset: apply cs->effective_{cpus,mems}kernel/cpuset.c+14 -690 replies
8/12cpuset: make cs->{cpus,mems}_allowed as user-configured maskskernel/cpuset.c+29 -60 replies
9/12cpuset: refactor cpuset_hotplug_update_tasks()kernel/cpuset.c+66 -550 replies
10/12cpuset: enable onlined cpu/node in effective maskskernel/cpuset.c+36 -290 replies
11/12cpuset: allow writing offlined masks to cpuset.cpus/memskernel/cpuset.c+4 -30 replies
12/12cpuset: export effective masks to userspacekernel/cpuset.c+20 -02 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 00/12] cpuset: separate configured masks and effective masks

This patcheset introduces behavior changes, but only for default hierarchy

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

v3:
- rebased against "cgroup: remove sane_behavior support on non-default hierarchies"
- addressed previous review comments
- adjusted some code, comment and changelog slightly

v2:
- fixed two bugs
- made changelogs more verbose
- added more comments
- changed cs->real_{mems,cpus}_allowed to cs->effective_{mems, cpus}
- splitted "cpuset: enable onlined cpu/node in effective masks" into 2 patches
- exported cpuset.effective_{cpus,mems} unconditionally

Li Zefan (12):
cpuset: add cs->effective_cpus and cs->effective_mems
cpuset: update cpuset->effective_{cpus,mems} at hotplug
cpuset: update cs->effective_{cpus,mems} when config changes
cpuset: inherit ancestor's masks if effective_{cpus,mems} becomes
empty
cpuset: use effective cpumask to build sched domains
cpuset: initialize top_cpuset's configured masks at mount
cpuset: apply cs->effective_{cpus,mems}
cpuset: make cs->{cpus,mems}_allowed as user-configured masks
cpuset: refactor cpuset_hotplug_update_tasks()
cpuset: enable onlined cpu/node in effective masks
cpuset: allow writing offlined masks to cpuset.cpus/mems
cpuset: export effective masks to userspace

 kernel/cpuset.c | 493 ++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 304 insertions(+), 189 deletions(-)
Signature · 1 line
1.8.0.2