[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170811163754.3939102-1-tj@kernel.org>
Date: Fri, 11 Aug 2017 09:37:51 -0700
From: Tejun Heo <tj@...nel.org>
To: lizefan@...wei.com, hannes@...xchg.org, peterz@...radead.org,
mingo@...hat.com, longman@...hat.com
Cc: cgroups@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-team@...com, pjt@...gle.com, luto@...capital.net,
efault@....de, torvalds@...ux-foundation.org, guro@...com
Subject: [PATCHSET for-4.14] cgroup, sched: cgroup2 basic resource accounting
Hello,
This patchset implement cgroup2 basic resource accounting and track
CPU usages on all cgroups by default.
In cgroup1, collecting non-trivial statistics by default wasn't viable
because there can be any number of hierarchies. While cgroup2's
single hierarchy removes that part of the problem, propagating up the
hierarchy on each accounting event is still problematic.
This patchset implements cgroup2 basic resource accounting mechanism
which keeps all the counters per-cpu and propagates lazily to allow
the accounting side to only perform single per-cpu accounting in most
cases and the reader side's complexity to be O(nr updated descendants)
instead of O(nr total descendants).
This will be used by cgroup2 CPU interface later. The patchset
contains the following three patches.
0001-sched-cputime-Expose-cputime_adjust.patch
0002-cpuacct-Introduce-cgroup_account_cputime-_field.patch
0003-cgroup-Implement-cgroup2-basic-CPU-usage-accounting.patch
The patchset is on top of cgroup/for-4.14 and available in the
following git branch.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup2-basic-acct
diffstat follows. Thanks.
Documentation/cgroup-v2.txt | 9 +
include/linux/cgroup-defs.h | 47 +++++
include/linux/cgroup.h | 60 +++++++
include/linux/sched/cputime.h | 3
kernel/cgroup/Makefile | 2
kernel/cgroup/cgroup-internal.h | 8
kernel/cgroup/cgroup.c | 24 ++
kernel/cgroup/stat.c | 333 ++++++++++++++++++++++++++++++++++++++++
kernel/sched/cpuacct.h | 17 --
kernel/sched/cputime.c | 7
kernel/sched/deadline.c | 2
kernel/sched/fair.c | 2
kernel/sched/rt.c | 2
kernel/sched/sched.h | 1
kernel/sched/stop_task.c | 2
15 files changed, 489 insertions(+), 30 deletions(-)
--
tejun
Powered by blists - more mailing lists