From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tony Luck" Date: Thu, 01 Nov 2007 20:29:07 +0000 Subject: Re: [PATCH 1/9] ia64: VIRT_CPU_ACCOUNTING (accurate cpu time accounting) Message-Id: <12c511ca0711011329k34b538aclbd19c468f102f6d4@mail.gmail.com> List-Id: References: <4714BDC7.1070702@jp.fujitsu.com> In-Reply-To: <4714BDC7.1070702@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org 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