On Sat, Sep 18, 2010 at 10:05 PM, Michael Cree <mcree@xxxxxxxxxxxx> wrote: > Pending work from the performance event subsystem is executed in > the timer interrupt. This patch shifts the call to > perf_event_do_pending() before the call to update_process_times() > as the latter may call back into the perf event subsystem and it > is prudent to have the pending work executed first. > > Signed-off-by: Michael Cree <mcree@xxxxxxxxxxxx> > --- > arch/alpha/kernel/time.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c > index eacceb2..396af17 100644 > --- a/arch/alpha/kernel/time.c > +++ b/arch/alpha/kernel/time.c > @@ -191,16 +191,16 @@ irqreturn_t timer_interrupt(int irq, void *dev) > > write_sequnlock(&xtime_lock); > > -#ifndef CONFIG_SMP > - while (nticks--) > - update_process_times(user_mode(get_irq_regs())); > -#endif > - > if (test_perf_event_pending()) { > clear_perf_event_pending(); > perf_event_do_pending(); > } > > +#ifndef CONFIG_SMP > + while (nticks--) > + update_process_times(user_mode(get_irq_regs())); > +#endif > + > return IRQ_HANDLED; > } > > -- > 1.7.1 Thanks! Added to my tree and sent to Linus. -- To unsubscribe from this list: send the line "unsubscribe linux-alpha" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html