clocksource/drivers/tegra: Allow timer irq affinity change
authorLucas Stach <dev@lynxeye.de>
Sun, 25 Oct 2015 15:40:30 +0000 (16:40 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 15 Dec 2015 08:41:06 +0000 (09:41 +0100)
Allow the timer core to change the smp affinity of the broadcast timer
irq by setting CLOCK_EVT_FEAT_DYNIRQ flag.

This reduces interrupt pressure and wakeups on CPU0 as well as vastly
reducing the number of timer broadcast IPIs.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/tegra20_timer.c

index 6ebda1177e791373e6db749f10620ef785bf198d..38333aba3055b3e376bb163ad0517c348178ec7b 100644 (file)
@@ -96,7 +96,8 @@ static struct clock_event_device tegra_clockevent = {
        .name                   = "timer0",
        .rating                 = 300,
        .features               = CLOCK_EVT_FEAT_ONESHOT |
-                                 CLOCK_EVT_FEAT_PERIODIC,
+                                 CLOCK_EVT_FEAT_PERIODIC |
+                                 CLOCK_EVT_FEAT_DYNIRQ,
        .set_next_event         = tegra_timer_set_next_event,
        .set_state_shutdown     = tegra_timer_shutdown,
        .set_state_periodic     = tegra_timer_set_periodic,