On 04/21/2017 10:03 AM, Waiman Long wrote: > This patchset incorporates the following 2 patchsets from Tejun Heo: > > 1) cgroup v2 thread mode patchset (5 patches) > https://lkml.org/lkml/2017/2/2/592 > 2) CPU Controller on Control Group v2 (2 patches) > https://lkml.org/lkml/2016/8/5/368 > > Additional patches are then layered on top to implement the following > new features: > > 1) An enhanced v2 thread mode where a thread root (root of a threaded > subtree) can have non-threaded children with non-threaded > controllers enabled and no internal process constraint does > not apply. > 2) An enhanced debug controller which dumps out more information > relevant to the debugging and testing of cgroup v2 in general. > 3) Separate control knobs for resource domain controllers can be > enabled in a thread root to manage all the internal processes in > the threaded subtree. > > Patches 1-5 are Tejun's cgroup v2 thread mode patchset. > > Patch 6 fixes a task_struct reference counting bug introduced in > patch 1. > > Patch 7 moves the debug cgroup out from cgroup_v1.c into its own > file. > > Patch 8 keeps more accurate counts of the number of tasks associated > with each css_set. > > Patch 9 enhances the debug controller to provide more information > relevant to the cgroup v2 thread mode to ease debugging effort. > > Patch 10 implements the enhanced cgroup v2 thread mode with the > following enhancements: > > 1) Thread roots are treated differently from threaded cgroups. > 2) Thread root can now have non-threaded controllers enabled as well > as non-threaded children. > > Patches 11-12 are Tejun's CPU controller on control group v2 patchset. > > Patch 13 makes both cpu and cpuacct controllers threaded. > > Patch 14 enables the creation of a special "cgroup.self" directory > under the thread root to hold resource control knobs for controllers > that don't want resource competiton between internal processes and > non-threaded child cgroups. > > Preliminary testing was done with the debug controller enabled. Things > seemed to work fine so far. More rigorous testing will be needed, and > any suggestions are welcome. > > Tejun Heo (7): > cgroup: reorganize cgroup.procs / task write path > cgroup: add @flags to css_task_iter_start() and implement > CSS_TASK_ITER_PROCS > cgroup: introduce cgroup->proc_cgrp and threaded css_set handling > cgroup: implement CSS_TASK_ITER_THREADED > cgroup: implement cgroup v2 thread support > sched: Misc preps for cgroup unified hierarchy interface > sched: Implement interface for cgroup unified hierarchy > > Waiman Long (7): > cgroup: Fix reference counting bug in cgroup_procs_write() > cgroup: Move debug cgroup to its own file > cgroup: Keep accurate count of tasks in each css_set > cgroup: Make debug cgroup support v2 and thread mode > cgroup: Implement new thread mode semantics > sched: Make cpu/cpuacct threaded controllers > cgroup: Enable separate control knobs for thread root internal > processes > > Documentation/cgroup-v2.txt | 114 +++++- > include/linux/cgroup-defs.h | 56 +++ > include/linux/cgroup.h | 12 +- > kernel/cgroup/Makefile | 1 + > kernel/cgroup/cgroup-internal.h | 18 +- > kernel/cgroup/cgroup-v1.c | 217 +++------- > kernel/cgroup/cgroup.c | 862 ++++++++++++++++++++++++++++++++++------ > kernel/cgroup/cpuset.c | 6 +- > kernel/cgroup/debug.c | 284 +++++++++++++ > kernel/cgroup/freezer.c | 6 +- > kernel/cgroup/pids.c | 1 + > kernel/events/core.c | 1 + > kernel/sched/core.c | 150 ++++++- > kernel/sched/cpuacct.c | 55 ++- > kernel/sched/cpuacct.h | 5 + > mm/memcontrol.c | 3 +- > net/core/netclassid_cgroup.c | 2 +- > 17 files changed, 1478 insertions(+), 315 deletions(-) > create mode 100644 kernel/cgroup/debug.c > Does anyone has time to take a look at these patches? As the merge window is going to open up next week, I am not going to bother you guys when the merge window opens. Cheers, Longman -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html