Messages in this thread Patch in this message | | | Date | Mon, 3 Mar 2008 14:22:51 +0100 | From | Ingo Molnar <> | Subject | Re: Panic 2.6.24-3 NMI Watchdog detected LOCKUP on CPU 0 |
| |
* Ed Tomlinson <edt@aei.ca> wrote:
> Thomas, > > I have booted many times over the weekend. I've yet to trigger the > watchdog. Since I used to see problems in 1 in 3 or 4 boots, I think > you fixed the problem with patch below.
thanks for testing it.
Stable Team, please consider the post-2.6.24 commit below for -stable.
Ingo
---------------------> commit 3d97775a80a03013abe1fd681620925f884ad18a Author: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Date: Wed Jan 30 13:33:00 2008 +0100
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>
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 78d8006..a0130eb 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)
| |