Commit bdc8b8914b17cf97b53e5f7af8168d68cfb089d6
Committed by
Matt Turner
1 parent
531f0474bf
Exists in
master
and in
7 other branches
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 | } |