Messages in this thread |  | | Date | Sat, 22 Mar 2008 15:25:02 +0100 | From | Andi Kleen <> | Subject | Re: 2.6.25-rc5-git6: Reported regressions from 2.6.24 |
| |
> CPU0 runs the watchdog timer and schedules it on CPU1. > > With NO_HZ enabled CPU1 is in a long idle sleep. At this point of the > boot process there is probably no timer pending on CPU1, which means > the idle sleep is infinite. > > Now some time later CPU1 gets woken by an interrupt/IPI and runs the > timer wheel. At this point the pm_timer which is the reference clock > has already wrapped around, so the watchdog thinks that there is a
In my old original own noidletick code I simply limited all sleeps to below the wrap around of the primary timer. Wouldn't something like that work?
In the case of the watchdog i guess it would need to be limited to the wrap around of multiple timers, at least all that are used by the watchdog.
I'm not sure just doing this for add_timer_on() only is correct. After all it could affect any other code not run by add_timer_on() couldn't it?
-Andi
|  |