[lkml]   [2006]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH:] delayacct: cpu_count in taskstats updated correctly
On Fri, 27 Oct 2006, Martin Tostrup Setek wrote:

> In include/linux/taskstats.h, I found:
> * xxx_count is the number of delay values recorded
> * xxx_delay_total is the corresponding cumulative delay in
> nanoseconds
> I interpret these comments as saying that:
> cpu_delay should be the total number of nanoseconds a task has been waiting in
> a runqueue for a CPU, and cpu_count is equal to the number of times the task
> got the CPU (or waited for it). If so, then the code updates
> taskstats.cpu_delay_total incorrectly too (which my patch didn't fix).

I don't see a cpu_delay, I see a cpu_delay_total. This is the CPU's
cumulative delay and is only accessible through the user-space accounting
program Documentation/accounting/getdelays.c. It reports the number of
delay values recorded and the real total, virtual total, and delay total;
each of these are cumulative.

In the use case for cpu_count, taking the difference of two successive
cpu_count readings as reported by getdelays.c would find the number of
delays experienced in that interval. This is described in the program's
documentation so by definition the count must be cumulative. It is also
possible to find the average delay but dividing cpu_delay_total by

The original code is correct and accumulation is appropriate.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-10-27 07:53    [W:0.088 / U:8.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site