Messages in this thread | | | Date | Thu, 28 May 2009 22:19:44 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [patch 1/2] idle profile hits with NOHZ |
| |
On Thu, 28 May 2009, Martin Schwidefsky wrote: > --- quilt-2.6.orig/kernel/time/tick-sched.c > +++ quilt-2.6/kernel/time/tick-sched.c > @@ -166,6 +166,7 @@ static void tick_nohz_stop_idle(int cpu) > ts->idle_lastupdate = now; > ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta); > ts->idle_active = 0; > + ts->idle_pc = profile_pc(get_irq_regs());
Hmm, tick_nohz_stop_idle() is called from tick_nohz_restart_sched_tick() as well in the context of the idle task.
I think there is no guarantee that get_irq_regs() will return anything useful in thread context.
So get_irq_regs() might return a NULL pointer which will explode some of the profile_pc() implementations. If not it can still feed total nonsense to the profile_hits() call.
Thanks,
tglx
| |