Commit 0297b803 authored by Dhaval Giani's avatar Dhaval Giani Committed by Ingo Molnar

sched: allow cpuacct stats to be reset

Currently the schedstats implementation does not allow the statistics
to be reset. This patch aims to allow that.

  echo 0 > cpuacct.usage

resets the usage. Any other value is not allowed and returns -EINVAL.
Signed-off-by: default avatarDhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 32cd756a
...@@ -8381,10 +8381,34 @@ static u64 cpuusage_read(struct cgroup *cgrp, struct cftype *cft) ...@@ -8381,10 +8381,34 @@ static u64 cpuusage_read(struct cgroup *cgrp, struct cftype *cft)
return totalcpuusage; return totalcpuusage;
} }
static int cpuusage_write(struct cgroup *cgrp, struct cftype *cftype,
u64 reset)
{
struct cpuacct *ca = cgroup_ca(cgrp);
int err = 0;
int i;
if (reset) {
err = -EINVAL;
goto out;
}
for_each_possible_cpu(i) {
u64 *cpuusage = percpu_ptr(ca->cpuusage, i);
spin_lock_irq(&cpu_rq(i)->lock);
*cpuusage = 0;
spin_unlock_irq(&cpu_rq(i)->lock);
}
out:
return err;
}
static struct cftype files[] = { static struct cftype files[] = {
{ {
.name = "usage", .name = "usage",
.read_uint = cpuusage_read, .read_uint = cpuusage_read,
.write_uint = cpuusage_write,
}, },
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment