Re: [PATCH] procfs: do not confuse jiffies with cputime64_t

From: Arnd Bergmann
Date: Mon Dec 12 2011 - 04:23:00 EST


On Monday 12 December 2011, Andreas Schwab wrote:
> @@ -46,7 +46,7 @@ static cputime64_t get_iowait_time(int cpu)
> /* !NO_HZ so we can rely on cpustat.iowait */
> iowait = kstat_cpu(cpu).cpustat.iowait;
> else
> - iowait = nsecs_to_jiffies64(1000 * iowait_time);
> + iowait = jiffies64_to_cputime64(nsecs_to_jiffies64(1000 * iowait_time));
>
> return iowait;

Hmm, shouldn't this be using nsecs_to_cputime64()? For some reason however, that function
is (incorrectly?) defined as

include/asm-generic/cputime.h:#define nsecs_to_cputime64(__ct) nsecs_to_jiffies64(__ct)

and only used in one place, in

kernel/sched.c: if (cputime64_gt(nsecs_to_cputime64(latest_ns), cpustat->irq))
kernel/sched.c: if (cputime64_gt(nsecs_to_cputime64(latest_ns), cpustat->softirq))

I'm not sure what the correct solution is, but I would assume that ia64 and powerpc
should fix their definitions of nsecs_to_cputime64() anyway.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/