[PATCH 02/10] Containers(V10): Example CPU accounting subsystem

Andrew Morton akpm at linux-foundation.org
Wed May 30 00:16:00 PDT 2007


On Tue, 29 May 2007 06:01:06 -0700 menage at google.com wrote:

> This example demonstrates how to use the generic container subsystem
> for a simple resource tracker that counts, for the processes in a
> container, the total CPU time used and the %CPU used in the last
> complete 10 second interval.
> 
> ...
>
> --- /dev/null
> +++ container-2.6.22-rc2-mm1/kernel/cpu_acct.c
> @@ -0,0 +1,185 @@
> +/*
> + * kernel/cpu_acct.c - CPU accounting container subsystem
> + *
> + * Copyright (C) Google Inc, 2006
> + *
> + * Developed by Paul Menage (menage at google.com) and Balbir Singh
> + * (balbir at in.ibm.com)
> + *
> + */
>
> ...
>
> +static u64 cpuusage_read(struct container *cont,
> +			 struct cftype *cft)
> +{
> +	struct cpuacct *ca = container_ca(cont);
> +	u64 time;
> +
> +	spin_lock_irq(&ca->lock);
> +	cpuusage_update(ca);
> +	time = cputime64_to_jiffies64(ca->time);
> +	spin_unlock_irq(&ca->lock);
> +
> +	/* Convert 64-bit jiffies to seconds */
> +	time *= 1000;
> +	do_div(time, HZ);

hm, we have jiffies_to_lotsofthings, but we don't appear to have a
jiffies_to_seconds.  How odd.




More information about the Containers mailing list