Subject: Re: [PATCH] Restore deterministic CPU accounting on powerpc

From: Ingo Molnar <[email-masked]>
Date: Sat, 3 Nov 2007 09:54:20 +0100

* Paul Mackerras <[email-masked]> wrote:

> Since powerpc started using CONFIG_GENERIC_CLOCKEVENTS, the 
> deterministic CPU accounting (CONFIG_VIRT_CPU_ACCOUNTING) has been 
> broken on powerpc, because we end up counting user time twice: once in 
> timer_interrupt() and once in update_process_times().
> 
> This fixes the problem by pulling the code in update_process_times 
> that updates utime and stime into a separate function called 
> account_process_tick.  If CONFIG_VIRT_CPU_ACCOUNTING is not defined, 
> there is a version of account_process_tick in kernel/timer.c that 
> simply accounts a whole tick to either utime or stime as before.  If 
> CONFIG_VIRT_CPU_ACCOUNTING is defined, then arch code gets to 
> implement account_process_tick.
> 
> This also lets us simplify the s390 code a bit; it means that the s390 
> timer interrupt can now call update_process_times even when 
> CONFIG_VIRT_CPU_ACCOUNTING is turned on, and can just implement a 
> suitable account_process_tick().
> 
> Signed-off-by: Paul Mackerras <[email-masked]>

lets push this towards Linus via the scheduler tree, ok?

	Ingo