From: Hosung Kim <hosung0.kim@xxxxxxxxxxx> To allow the CPU to handle it's own clock events, we need to set the IRQF_PERCPU flag. This prevents the local timer interrupts from migrating to other CPUs. Signed-off-by: Hosung Kim <hosung0.kim@xxxxxxxxxxx> [Original commit from https://android.googlesource.com/kernel/gs/+/03267fad19f093bac979ca78309483e9eb3a8d16] Reviewed-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Youngmin Nam <youngmin.nam@xxxxxxxxxxx> Tested-by: Youngmin Nam <youngmin.nam@xxxxxxxxxxx> Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx> --- drivers/clocksource/exynos_mct.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index 96361d5dc57d..a5ef7d64b1c2 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -596,7 +596,8 @@ static int __init exynos4_timer_interrupts(struct device_node *np, irq_set_status_flags(mct_irq, IRQ_NOAUTOEN); if (request_irq(mct_irq, exynos4_mct_tick_isr, - IRQF_TIMER | IRQF_NOBALANCING, + IRQF_TIMER | IRQF_NOBALANCING | + IRQF_PERCPU, pcpu_mevt->name, pcpu_mevt)) { pr_err("exynos-mct: cannot register IRQ (cpu%d)\n", cpu); -- 2.50.0.rc2.761.g2dc52ea45b-goog