diff options
author | Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> | 2008-01-30 07:33:00 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:00 -0500 |
commit | 3d97775a80a03013abe1fd681620925f884ad18a (patch) | |
tree | 5af4133b00ec87c3e4313b98cc53ccf81cbba7ac /arch/x86/kernel/process_64.c | |
parent | d50efc6c40620b2e11648cac64ebf4a824e40382 (diff) |
x86: move out tick_nohz_stop_sched_tick() call from the loop
Move out tick_nohz_stop_sched_tick() call from the loop in cpu_idle
same as 32-bit version.
Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/process_64.c')
-rw-r--r-- | arch/x86/kernel/process_64.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 78d80067b7f9..a0130eb2fa50 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -170,14 +170,13 @@ void cpu_idle(void) | |||
170 | current_thread_info()->status |= TS_POLLING; | 170 | current_thread_info()->status |= TS_POLLING; |
171 | /* endless idle loop with no priority at all */ | 171 | /* endless idle loop with no priority at all */ |
172 | while (1) { | 172 | while (1) { |
173 | tick_nohz_stop_sched_tick(); | ||
173 | while (!need_resched()) { | 174 | while (!need_resched()) { |
174 | void (*idle)(void); | 175 | void (*idle)(void); |
175 | 176 | ||
176 | if (__get_cpu_var(cpu_idle_state)) | 177 | if (__get_cpu_var(cpu_idle_state)) |
177 | __get_cpu_var(cpu_idle_state) = 0; | 178 | __get_cpu_var(cpu_idle_state) = 0; |
178 | 179 | ||
179 | tick_nohz_stop_sched_tick(); | ||
180 | |||
181 | rmb(); | 180 | rmb(); |
182 | idle = pm_idle; | 181 | idle = pm_idle; |
183 | if (!idle) | 182 | if (!idle) |