revert "Task Control Groups: example CPU accounting subsystem"
Revert 62d0df6406
.
This was originally intended as a simple initial example of how to create a
control groups subsystem; it wasn't intended for mainline, but I didn't make
this clear enough to Andrew.
The CFS cgroup subsystem now has better functionality for the per-cgroup usage
accounting (based directly on CFS stats) than the "usage" status file in this
patch, and the "load" status file is rather simplistic - although having a
per-cgroup load average report would be a useful feature, I don't believe this
patch actually provides it. If it gets into the final 2.6.24 we'd probably
have to support this interface for ever.
Cc: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
45c682a68a
commit
cfb5285660
@@ -52,7 +52,6 @@
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpuset.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/cpu_acct.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/sysctl.h>
|
||||
@@ -3338,13 +3337,9 @@ void account_user_time(struct task_struct *p, cputime_t cputime)
|
||||
{
|
||||
struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
|
||||
cputime64_t tmp;
|
||||
struct rq *rq = this_rq();
|
||||
|
||||
p->utime = cputime_add(p->utime, cputime);
|
||||
|
||||
if (p != rq->idle)
|
||||
cpuacct_charge(p, cputime);
|
||||
|
||||
/* Add user time to cpustat. */
|
||||
tmp = cputime_to_cputime64(cputime);
|
||||
if (TASK_NICE(p) > 0)
|
||||
@@ -3408,10 +3403,9 @@ void account_system_time(struct task_struct *p, int hardirq_offset,
|
||||
cpustat->irq = cputime64_add(cpustat->irq, tmp);
|
||||
else if (softirq_count())
|
||||
cpustat->softirq = cputime64_add(cpustat->softirq, tmp);
|
||||
else if (p != rq->idle) {
|
||||
else if (p != rq->idle)
|
||||
cpustat->system = cputime64_add(cpustat->system, tmp);
|
||||
cpuacct_charge(p, cputime);
|
||||
} else if (atomic_read(&rq->nr_iowait) > 0)
|
||||
else if (atomic_read(&rq->nr_iowait) > 0)
|
||||
cpustat->iowait = cputime64_add(cpustat->iowait, tmp);
|
||||
else
|
||||
cpustat->idle = cputime64_add(cpustat->idle, tmp);
|
||||
@@ -3447,10 +3441,8 @@ void account_steal_time(struct task_struct *p, cputime_t steal)
|
||||
cpustat->iowait = cputime64_add(cpustat->iowait, tmp);
|
||||
else
|
||||
cpustat->idle = cputime64_add(cpustat->idle, tmp);
|
||||
} else {
|
||||
} else
|
||||
cpustat->steal = cputime64_add(cpustat->steal, tmp);
|
||||
cpuacct_charge(p, -tmp);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user