Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cpuidle: Use kick_all_cpus_sync()

kick_all_cpus_sync() is the core implementation of cpu_idle_wait()
which is copied all over the arch code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120507175652.119842173@linutronix.de

+1 -12
+1 -12
drivers/cpuidle/cpuidle.c
··· 40 40 off = 1; 41 41 } 42 42 43 - #if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT) 44 - static void cpuidle_kick_cpus(void) 45 - { 46 - cpu_idle_wait(); 47 - } 48 - #elif defined(CONFIG_SMP) 49 - # error "Arch needs cpu_idle_wait() equivalent here" 50 - #else /* !CONFIG_ARCH_HAS_CPU_IDLE_WAIT && !CONFIG_SMP */ 51 - static void cpuidle_kick_cpus(void) {} 52 - #endif 53 - 54 43 static int __cpuidle_register_device(struct cpuidle_device *dev); 55 44 56 45 static inline int cpuidle_enter(struct cpuidle_device *dev, ··· 175 186 { 176 187 if (enabled_devices) { 177 188 initialized = 0; 178 - cpuidle_kick_cpus(); 189 + kick_all_cpus_sync(); 179 190 } 180 191 } 181 192