Hello, cgroup has scalable recursive stat mechanism implemented in kernel/stat.c. It's currently only used to track cpu consumptions and difficult to use outside of cgroup core. This patchset generalizes the mechanism and exposes it as cgroup_rstat so that controllers can use it. This patchset contains the following eight patches. A follow-up patchset will add usages. 0001-cgroup-Rename-kernel-cgroup-stat.c-to-kernel-cgroup-.patch 0002-cgroup-Rename-stat-to-rstat.patch 0003-cgroup-Distinguish-base-resource-stat-implementation.patch 0004-cgroup-Reorganize-kernel-cgroup-rstat.c.patch 0005-cgroup-Factor-out-and-expose-cgroup_rstat_-interface.patch 0006-cgroup-Replace-cgroup_rstat_mutex-with-a-spinlock.patch 0007-cgroup-Add-cgroup_subsys-css_rstat_flush.patch 0008-cgroup-Add-memory-barriers-to-plug-cgroup_rstat_upda.patch This patchset is also available in the following git branch. git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup_rstat diffstat follows. include/linux/cgroup-defs.h | 50 ++-- include/linux/cgroup.h | 12 - kernel/cgroup/Makefile | 2 kernel/cgroup/cgroup-internal.h | 11 - kernel/cgroup/cgroup.c | 29 ++ kernel/cgroup/rstat.c | 410 ++++++++++++++++++++++++++++++++++++++++ kernel/cgroup/stat.c | 338 -------------------------------- 7 files changed, 477 insertions(+), 375 deletions(-) Thanks. -- tejun -- 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