diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2013-03-21 17:49:37 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2013-04-08 11:39:23 -0400 |
commit | a123322d8afcfb5f86e0cc0062024084658aeeb2 (patch) | |
tree | 129e9960ddffde8609bfc1db1e2e38643289783b /arch/alpha/kernel | |
parent | fa35e42a00ec0120db2b5128753206efb288e789 (diff) |
alpha: Use generic idle loop
The core provides a generic idle poll loop.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Reviewed-by: Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Link: http://lkml.kernel.org/r/20130321215233.766017538@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/alpha/kernel')
-rw-r--r-- | arch/alpha/kernel/process.c | 19 | ||||
-rw-r--r-- | arch/alpha/kernel/smp.c | 3 |
2 files changed, 1 insertions, 21 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index 63d27fb9b023..a3fd8a29ccac 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
@@ -46,25 +46,6 @@ | |||
46 | void (*pm_power_off)(void) = machine_power_off; | 46 | void (*pm_power_off)(void) = machine_power_off; |
47 | EXPORT_SYMBOL(pm_power_off); | 47 | EXPORT_SYMBOL(pm_power_off); |
48 | 48 | ||
49 | void | ||
50 | cpu_idle(void) | ||
51 | { | ||
52 | current_thread_info()->status |= TS_POLLING; | ||
53 | |||
54 | while (1) { | ||
55 | /* FIXME -- EV6 and LCA45 know how to power down | ||
56 | the CPU. */ | ||
57 | |||
58 | rcu_idle_enter(); | ||
59 | while (!need_resched()) | ||
60 | cpu_relax(); | ||
61 | |||
62 | rcu_idle_exit(); | ||
63 | schedule_preempt_disabled(); | ||
64 | } | ||
65 | } | ||
66 | |||
67 | |||
68 | struct halt_info { | 49 | struct halt_info { |
69 | int mode; | 50 | int mode; |
70 | char *restart_cmd; | 51 | char *restart_cmd; |
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 9603bc234b47..7b60834fb4b2 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c | |||
@@ -167,8 +167,7 @@ smp_callin(void) | |||
167 | cpuid, current, current->active_mm)); | 167 | cpuid, current, current->active_mm)); |
168 | 168 | ||
169 | preempt_disable(); | 169 | preempt_disable(); |
170 | /* Do nothing. */ | 170 | cpu_startup_entry(CPUHP_ONLINE); |
171 | cpu_idle(); | ||
172 | } | 171 | } |
173 | 172 | ||
174 | /* Wait until hwrpb->txrdy is clear for cpu. Return -1 on timeout. */ | 173 | /* Wait until hwrpb->txrdy is clear for cpu. Return -1 on timeout. */ |