[RFD 0/9] per-cgroup /proc/stat statistics

From: Glauber Costa
Date: Fri Sep 23 2011 - 18:22:57 EST


Hi,

Since I've sent already a RFC about it, I am sending now a RFD.
If you eager for meaning, this can then be a "Request for Doctors",
since Peter is likely to have a heart attack now.

So here's the deal:

* My main goal here was to demonstrate that we can avoid double accounting
in a lot of places. So what I did was getting rid of the original and first
kstat mechanism, and use only cgroups accounting for that. Since the parent
is always updated, the original stats are the one for the root cgroup.
* I believe that all those cpu cgroups are confusing and should be unified. Not
that we can simply get rid of it, but my goal here is to provide all the
information they do, in cpu cgroup. If the set of tasks needed for accounting
is not independent of the ones in cpu cgroup, we can avoid double accounting
for that. I default cpuacct to n, but leave it to people that wants to use it
alone.
* Well, I'm also doing what I was doing originally: Providing a per-cgroup version
of the /proc/stat file.


Glauber Costa (9):
Change cpustat fields to an array.
Move /proc/stat logic inside sched.c
Display /proc/stat information per cgroup
Make total_forks per-cgroup
per-cgroup boot time
Report steal time for cgroup
provide a version of cpuacct statistics inside cpu cgroup
provide a version of cpuusage statistics inside cpu cgroup
Change CPUACCT to default n

fs/proc/stat.c | 117 +---------
fs/proc/uptime.c | 2 +-
include/linux/kernel_stat.h | 48 +++--
include/linux/sched.h | 5 +
init/Kconfig | 1 +
kernel/fork.c | 9 +-
kernel/sched.c | 595 +++++++++++++++++++++++++++++++++++--------
kernel/sched_fair.c | 2 +-
kernel/sched_rt.c | 2 +-
9 files changed, 530 insertions(+), 251 deletions(-)

--
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/