On 07/16/2017 10:07 PM, Tejun Heo wrote: > Hello, > > This is v3 of cgroup2 thread mode patchset. The changes from v2[L] > are > > * Switched to marking each cgroup threaded instead of doing it > per-subtree as suggested by PeterZ. This allows more flexibility > and removes certain interface quirks. > > * Dropped RFC tag and excluded cpu controller patches from this > patchset as threaded mode behaviors can easily be verified with the > pid controller. Will follow up with cpu controller patchset later. > > It is largely based on the discussions that we had at the plumbers > last year. Here's the rough outline. > > * Thread mode is explicitly enabled on a cgroup by writing "threaded" > into "cgroup.type" file. The cgroup shouldn't have any processes or > child cgroups. A threaded cgroup joins the the parent's resource > domain and becomes a part of the threaded subtree anchored at the > nearest domain ancestor, which is called the threaded domain cgroup > of the subtree. > > * Threads can be put anywhere in a threaded subtree by writing TIDs > into "cgroup.threads" file. Process granularity and > no-internal-process constraint don't apply in a threaded subtree. > > * To be used in a threaded subtree, controllers should explicitly > declare thread mode support and should be able to handle internal > competition in some way. > > * The threaded domain cgroup of a threaded subtree serves as the > resource domain for the whole subtree. This is where all the > controllers are guaranteed to have a common ground and resource > consumptions in the threaded subtree which aren't tied to a specific > thread are charged. Non-threaded controllers never see beyond > thread root and can assume that all controllers will follow the same > rules upto that point. > > * Unlike other cgroups, the system root cgroup can serve as parent to > domain child cgroups and threaded domains to threaded subtrees. > > This allows threaded controllers to implement thread granular resource > control without getting in the way of system level resource > partitioning. > > For more details on the interface and behavior, please refer to 0005. > > This patchset contains the following six patches. > > 0001-cgroup-reorganize-cgroup.procs-task-write-path.patch > 0002-cgroup-add-flags-to-css_task_iter_start-and-implemen.patch > 0003-cgroup-introduce-cgroup-dom_cgrp-and-threaded-css_se.patch > 0004-cgroup-implement-CSS_TASK_ITER_THREADED.patch > 0005-cgroup-implement-cgroup-v2-thread-support.patch > 0006-cgroup-update-debug-controller-to-print-out-thread-m.patch > > 0001-0005 implement cgroup2 thread mode. 0006 enables debug > controller on it. > > The patchset is based on the current cgroup/for-4.14 27f26753f8c0 > ("cgroup: replace css_set walking populated test with testing > cgrp->nr_populated_csets") and also available in the following git > branch. > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup2-threads-v3 Your new patches don't seem to be pushed to your git tree yet. I couldn't find them there. Cheers, Longman -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html