Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1572723

[PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode

From Tejun Heo <tj@kernel.org>
Newsgroups linux.kernel
Subject [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode
Date 2017-02-02 21:10 +0100
Message-ID <t6vRD-aV-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Hello,

This patchset implements cgroup v2 thread mode.  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 "enable"
  into "cgroup.threads" file.  The cgroup shouldn't have any child
  cgroups or enabled controllers.

* Once enabled, arbitrary sub-hierarchy can be created and threads can
  be put anywhere in the 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 root 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.

This allows threaded controllers to implement thread granular resource
control without getting in the way of system level resource
partitioning.

This patchset contains the following five patches.  For more details
on the interface and behavior, please refer to the last patch.

 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-proc_cgrp-and-threaded-css_s.patch
 0004-cgroup-implement-CSS_TASK_ITER_THREADED.patch
 0005-cgroup-implement-cgroup-v2-thread-support.patch

This patchset is on top of cgroup/for-4.11 63f1ca59453a ("Merge branch
'cgroup/for-4.11-rdmacg' into cgroup/for-4.11") and available in the
following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup2-threads

diffstat follows.  Thanks.

 Documentation/cgroup-v2.txt     |   75 ++++-
 include/linux/cgroup-defs.h     |   38 ++
 include/linux/cgroup.h          |   12 
 kernel/cgroup/cgroup-internal.h |    8 
 kernel/cgroup/cgroup-v1.c       |   64 +++-
 kernel/cgroup/cgroup.c          |  589 ++++++++++++++++++++++++++++++++--------
 kernel/cgroup/cpuset.c          |    6 
 kernel/cgroup/freezer.c         |    6 
 kernel/cgroup/pids.c            |    1 
 kernel/events/core.c            |    1 
 mm/memcontrol.c                 |    2 
 net/core/netclassid_cgroup.c    |    2 
 12 files changed, 671 insertions(+), 133 deletions(-)

-- 
tejun

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-02 21:10 +0100
  [PATCH 4/5] cgroup: implement CSS_TASK_ITER_THREADED Tejun Heo <tj@kernel.org> - 2017-02-02 21:10 +0100
  Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Andy Lutomirski <luto@amacapital.net> - 2017-02-02 22:40 +0100
    Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-02 23:00 +0100
      Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Andy Lutomirski <luto@amacapital.net> - 2017-02-03 22:20 +0100
        Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-03 23:00 +0100
      Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-06 11:00 +0100
  Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-03 21:30 +0100
    Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-03 22:10 +0100
      Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-06 14:00 +0100
        Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-09 01:10 +0100
          Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-09 11:30 +0100
            Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-10 17:20 +0100
              Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-10 19:00 +0100
                Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-12 06:10 +0100
                Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Mike Galbraith <efault@gmx.de> - 2017-02-12 08:10 +0100
                Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Mike Galbraith <efault@gmx.de> - 2017-02-13 06:50 +0100
  Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Paul Turner <pjt@google.com> - 2017-02-09 15:10 +0100
    Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Peter Zijlstra <peterz@infradead.org> - 2017-02-09 15:50 +0100
      Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Mike Galbraith <efault@gmx.de> - 2017-02-09 16:20 +0100
      Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Mike Galbraith <efault@gmx.de> - 2017-02-13 06:40 +0100
    Re: [PATCHSET for-4.11] cgroup: implement cgroup v2 thread mode Tejun Heo <tj@kernel.org> - 2017-02-10 17:00 +0100

csiph-web