Re: [PATCH] Restore deterministic CPU accounting on powerpc

From: Ingo Molnar
Date: Sat Nov 03 2007 - 05:33:21 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> * Paul Mackerras <paulus@xxxxxxxxx> 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 <paulus@xxxxxxxxx>
>
> lets push this towards Linus via the scheduler tree, ok?

hm, i've removed it for now because it doesnt even build due toj:

+#ifndef CONFIG_VIRT_CPU_ACCOUNTING
+void account_process_tick(int user_tick)
+{
+ if (user_tick) {
+ account_user_time(p, jiffies_to_cputime(1));
+ account_user_time_scaled(p, jiffies_to_cputime(1));

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/