Skip to content

Commit

Permalink
sched: allow cpuacct stats to be reset
Browse files Browse the repository at this point in the history
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: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Dhaval Giani authored and Ingo Molnar committed Apr 19, 2008
1 parent 32cd756 commit 0297b80
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -8381,10 +8381,34 @@ static u64 cpuusage_read(struct cgroup *cgrp, struct cftype *cft)
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[] = {
{
.name = "usage",
.read_uint = cpuusage_read,
.write_uint = cpuusage_write,
},
};

Expand Down

0 comments on commit 0297b80

Please sign in to comment.