[PATCH v2] Fix hardware IRQ time accounting problem.

Jörg Sommer joerg at alea.gnuu.de
Wed Dec 5 09:21:03 EST 2007


Hallo Tony,

Tony Breeds <tony at bakeyournoodle.com> wrote:
> The commit fa13a5a1f25f671d084d8884be96fc48d9b68275 (sched: restore
> deterministic CPU accounting on powerpc), unconditionally calls
> update_process_tick() in system context.  In the deterministic accounting case
> this is the correct thing to do.  However, in the non-deterministic accounting
> case we need to not do this, and results in the time accounted as hardware irq
> time being artificially elevated.
>
> Signed-off-by: Tony Breeds <tony at bakeyournoodle.com>
> ---
> diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
> index 41e13f4..b9d8837 100644
> --- a/arch/powerpc/kernel/process.c
> +++ b/arch/powerpc/kernel/process.c
> @@ -350,7 +350,7 @@ struct task_struct *__switch_to(struct task_struct *prev,
>  	local_irq_save(flags);
>  
>  	account_system_vtime(current);
> -	account_process_tick(current, 0);
> +	account_process_vtime(current);
>  	calculate_steal_time();

This patch works for me. The high hardware interrupt load is gone. Thanks.

Bye, Jörg.
-- 
Der Klügere gibt so lange nach bis er der Dumme ist.



More information about the Linuxppc-dev mailing list