The patch titled CFS CGroup: Report usage has been removed from the -mm tree. Its filename was cfs-cgroup-report-usage.patch This patch was dropped because it was folded into cfs-cgroup-code-cleanup.patch ------------------------------------------------------ Subject: CFS CGroup: Report usage From: Paul Menage <menage@xxxxxxxxxx> Report CPU usage in CFS Cgroup directories Adds a cpu.usage file to the CFS cgroup that reports CPU usage in milliseconds for that cgroup's tasks This replaces the "example CPU Accounting CGroup subsystem" that was merged into mainline last week. Signed-off-by: Paul Menage <menage@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/sched.c | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff -puN kernel/sched.c~cfs-cgroup-report-usage kernel/sched.c --- a/kernel/sched.c~cfs-cgroup-report-usage +++ a/kernel/sched.c @@ -7185,15 +7185,37 @@ static u64 cpu_shares_read_uint(struct c return (u64) tg->shares; } -static struct cftype cpu_shares = { - .name = "shares", - .read_uint = cpu_shares_read_uint, - .write = cpu_shares_write, +static u64 cpu_usage_read(struct cgroup *cgrp, struct cftype *cft) +{ + struct task_group *tg = cgroup_tg(cgrp); + int i; + u64 res = 0; + for_each_possible_cpu(i) { + unsigned long flags; + spin_lock_irqsave(&tg->cfs_rq[i]->rq->lock, flags); + res += tg->se[i]->sum_exec_runtime; + spin_unlock_irqrestore(&tg->cfs_rq[i]->rq->lock, flags); + } + /* Convert from ns to ms */ + do_div(res, 1000000); + return res; +} + +static struct cftype cpu_files[] = { + { + .name = "shares", + .read_uint = cpu_shares_read_uint, + .write_uint = cpu_shares_write_uint, + }, + { + .name = "usage", + .read_uint = cpu_usage_read, + }, }; static int cpu_cgroup_populate(struct cgroup_subsys *ss, struct cgroup *cont) { - return cgroup_add_file(cont, ss, &cpu_shares); + return cgroup_add_files(cont, ss, cpu_files, ARRAY_SIZE(cpu_files)); } struct cgroup_subsys cpu_cgroup_subsys = { _ Patches currently in -mm which might be from menage@xxxxxxxxxx are cfs-cgroup-code-cleanup.patch cfs-cgroup-report-usage.patch memory-controller-add-documentation.patch memory-controller-resource-counters-v7.patch memory-controller-containers-setup-v7.patch memory-controller-accounting-setup-v7.patch memory-controller-memory-accounting-v7.patch memory-controller-task-migration-v7.patch memory-controller-add-per-container-lru-and-reclaim-v7.patch memory-controller-improve-user-interface.patch memory-controller-oom-handling-v7.patch memory-controller-add-switch-to-control-what-type-of-pages-to-limit-v7.patch memory-controller-make-page_referenced-container-aware-v7.patch memory-controller-make-charging-gfp-mask-aware.patch bugfix-for-memory-cgroup-controller-charge-refcnt-race-fix.patch bugfix-for-memory-cgroup-controller-fix-error-handling-path-in-mem_charge_cgroup.patch bugfix-for-memory-controller-add-helper-function-for-assigning-cgroup-to-page.patch bugfix-for-memory-cgroup-controller-avoid-pagelru-page-in-mem_cgroup_isolate_pages.patch bugfix-for-memory-cgroup-controller-migration-under-memory-controller-fix.patch add-a-refcount-check-in-dput.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html