Re: [PATCH 1/9] ia64: VIRT_CPU_ACCOUNTING (accurate cpu time accounting)

Tony Luck
2007-11-01T20:29:07Z

Overall impression: nice! There have always been some pathalogical
workloads that have confused the scheduler by executing synchronously
with the timer tick ... this should end their tricks.

A couple of comments:

> + Select this option to enable more accurate task and CPU time
> + accounting. This is done by reading a CPU counter on each
> + kernel entry and exit and on transitions within the kernel
> + between system, softirq and hardirq state, so there is a
> + small performance impact.

I haven't tried any macro-level benchmarks, but on a micro-benchmark to
measure system call overhead I see an additional 19-20 cycles in the
cached case. This doesn't look like a "small" performance impact (the
execution time for a syscall in my benchmark is only ~61 cycles). But
I'd like to see some real benchmarks to see whether the micro-level
problem is measureable at the macro scale.

One warning generated by this patch:
kernel/posix-cpu-timers.c:41: warning: passing arg 1 of
`timespec_to_cputime' discards qualifiers from pointer target type

-Tony