Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bdc8b891 authored by Michael Cree's avatar Michael Cree Committed by Matt Turner
Browse files

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: default avatarMichael Cree <mcree@orcon.net.nz>
Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
parent 531f0474
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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;
}