diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-09-22 07:08:57 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-22 07:08:57 -0400 |
commit | 0b88641f1bafdbd087d5e63987a30cc0eadd63b9 (patch) | |
tree | 81dcf756db373444140bb2623584710c628e3048 /arch/x86/kernel/process_32.c | |
parent | fbdbf709938d155c719c76b9894d28342632c797 (diff) | |
parent | 72d31053f62c4bc464c2783974926969614a8649 (diff) |
Merge commit 'v2.6.27-rc7' into x86/debug
Diffstat (limited to 'arch/x86/kernel/process_32.c')
-rw-r--r-- | arch/x86/kernel/process_32.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 7b9ee9f09639..62a4790e425d 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -96,7 +96,6 @@ static inline void play_dead(void) | |||
96 | { | 96 | { |
97 | /* This must be done before dead CPU ack */ | 97 | /* This must be done before dead CPU ack */ |
98 | cpu_exit_clear(); | 98 | cpu_exit_clear(); |
99 | wbinvd(); | ||
100 | mb(); | 99 | mb(); |
101 | /* Ack it */ | 100 | /* Ack it */ |
102 | __get_cpu_var(cpu_state) = CPU_DEAD; | 101 | __get_cpu_var(cpu_state) = CPU_DEAD; |
@@ -105,8 +104,8 @@ static inline void play_dead(void) | |||
105 | * With physical CPU hotplug, we should halt the cpu | 104 | * With physical CPU hotplug, we should halt the cpu |
106 | */ | 105 | */ |
107 | local_irq_disable(); | 106 | local_irq_disable(); |
108 | while (1) | 107 | /* mask all interrupts, flush any and all caches, and halt */ |
109 | halt(); | 108 | wbinvd_halt(); |
110 | } | 109 | } |
111 | #else | 110 | #else |
112 | static inline void play_dead(void) | 111 | static inline void play_dead(void) |
@@ -129,7 +128,7 @@ void cpu_idle(void) | |||
129 | 128 | ||
130 | /* endless idle loop with no priority at all */ | 129 | /* endless idle loop with no priority at all */ |
131 | while (1) { | 130 | while (1) { |
132 | tick_nohz_stop_sched_tick(); | 131 | tick_nohz_stop_sched_tick(1); |
133 | while (!need_resched()) { | 132 | while (!need_resched()) { |
134 | 133 | ||
135 | check_pgt_cache(); | 134 | check_pgt_cache(); |