Subject: Re: [POWERPC] Fix duplicate time accounting

From: Sergei Shtylyov <[email-masked]>
Date: Mon, 29 Oct 2007 16:56:50 +0300

Hello.

Paul Mackerras wrote:

> Currently, process user and system times are advancing twice as fast
> as they should because they are being accounted in two places - in the
> generic code and in timer_interrupt.  This fixes it by removing the
> call to account_process_time in timer_interrupt.

    But will the deterministic accounting option continue to work with such fix?

> Signed-off-by: Paul Mackerras <[email-masked]>
> ---
> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
> index 9eb3284..5e253d6 100644
> --- a/arch/powerpc/kernel/time.c
> +++ b/arch/powerpc/kernel/time.c
> @@ -599,16 +599,6 @@ void timer_interrupt(struct pt_regs * regs)
>  		get_lppaca()->int_dword.fields.decr_int = 0;
>  #endif
>  
> -	/*
> -	 * We cannot disable the decrementer, so in the period
> -	 * between this cpu's being marked offline in cpu_online_map
> -	 * and calling stop-self, it is taking timer interrupts.
> -	 * Avoid calling into the scheduler rebalancing code if this
> -	 * is the case.
> -	 */
> -	if (!cpu_is_offline(cpu))
> -		account_process_time(regs);
> -
>  	if (evt->event_handler)
>  		evt->event_handler(evt);
>  	else

WBR, Sergei