Messages in this thread Patch in this message | | | Date | Wed, 09 Jan 2008 19:44:06 -0800 | From | Hiroshi Shimamoto <> | Subject | [PATCH] x86_64: move out tick_nohz_stop_sched_tick() call from the loop |
| |
Hello,
tick_nohz_stop_sched_tick() and tick_nohz_restart_sched_tick() pair in cpu_idle() is different from 32-bit version.
From: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Subject: [PATCH] x86_64: 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> --- 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 93ce4f3..6870208 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -170,14 +170,13 @@ void cpu_idle(void) current_thread_info()->status |= TS_POLLING; /* endless idle loop with no priority at all */ while (1) { + tick_nohz_stop_sched_tick(); while (!need_resched()) { void (*idle)(void); if (__get_cpu_var(cpu_idle_state)) __get_cpu_var(cpu_idle_state) = 0; - tick_nohz_stop_sched_tick(); - rmb(); idle = pm_idle; if (!idle) -- 1.5.3.6
| |