Commit bdc8b8914b17cf97b53e5f7af8168d68cfb089d6

Authored by Michael Cree
Committed by Matt Turner
1 parent 531f0474bf

alpha: Shift perf event pending work earlier in timer interrupt

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@orcon.net.nz>
Signed-off-by: Matt Turner <mattst88@gmail.com>

Showing 1 changed file with 5 additions and 5 deletions Side-by-side Diff

arch/alpha/kernel/time.c
... ... @@ -191,15 +191,15 @@
191 191  
192 192 write_sequnlock(&xtime_lock);
193 193  
194   -#ifndef CONFIG_SMP
195   - while (nticks--)
196   - update_process_times(user_mode(get_irq_regs()));
197   -#endif
198   -
199 194 if (test_perf_event_pending()) {
200 195 clear_perf_event_pending();
201 196 perf_event_do_pending();
202 197 }
  198 +
  199 +#ifndef CONFIG_SMP
  200 + while (nticks--)
  201 + update_process_times(user_mode(get_irq_regs()));
  202 +#endif
203 203  
204 204 return IRQ_HANDLED;
205 205 }