intel_idle: Remove superfluous SMP fuction call
authorAnna-Maria Gleixner <anna-maria@linutronix.de>
Sat, 26 Nov 2016 23:13:31 +0000 (00:13 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 1 Dec 2016 22:01:36 +0000 (23:01 +0100)
Since commit 1cf4f629d9d2 ("cpu/hotplug: Move online calls to
hotplugged cpu") the CPU_ONLINE and CPU_DOWN_PREPARE notifiers are
always run on the hot plugged CPU, and as of commit 3b9d6da67e11
("cpu/hotplug: Fix rollback during error-out in __cpu_disable()") the
CPU_DOWN_FAILED notifier also runs on the hot plugged CPU. This patch
converts the SMP functional calls into direct calls.

smp_function_call_single() executes the function with interrupts
disabled. This calling convention is not preserved, because
tick_broadcast_enable() and tick_braodcast_disable() handle
interrupts themselves.

Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/idle/intel_idle.c

index d6377c1..3828bab 100644 (file)
@@ -971,8 +971,7 @@ static int cpu_hotplug_notify(struct notifier_block *n,
        case CPU_ONLINE:
 
                if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE)
-                       smp_call_function_single(hotcpu, __setup_broadcast_timer,
-                                                (void *)true, 1);
+                       __setup_broadcast_timer((void *)true);
 
                /*
                 * Some systems can hotplug a cpu at runtime after