On 01/02/2008, Dmitry Adamushko <[EMAIL PROTECTED]> wrote: > On 01/02/2008, Ingo Molnar <[EMAIL PROTECTED]> wrote: > > > > thanks - i cannot reproduce it on my usual suspend/resume testbox > > because e1000 broke on it, and this is a pretty annoying regression. > > We'll have to undo the hung-tasks detection feature if it's not fixed > > quickly. (there's no point in debugging features that _add_ bugs) > > I can reproduce it and Peter's patch does fix it for me. > > e.g. > [EMAIL PROTECTED]:/sys/devices/system/cpu/cpu1# time echo 0 > online > real 0m6.743s > [EMAIL PROTECTED]:/sys/devices/system/cpu/cpu1# time echo 0 > online > real 0m7.770s > > I've observed delays from ~3 s. up to ~8 s. (out of ~20 tests) so the > 10s. delay of msleep_interruptible() might be related but > I'm still looking for the reason why this fix helps (and what goes > wrong with the current code). >
heh... it's pretty obvious indeed. What's msleep_interruptible() is all about? :-) "sleep waiting for signals" so the 'watchdog' thread gets woken up [ as a result of cpu_callback(action = CPU_DEAD) --> kthread_stop() ] just to be immediately scheduled out again for as long as the remaining timeout > 0. So it should work if we substitute msleep_interruptible() with schedule_timeout_interruptible(). -- Best regards, Dmitry Adamushko -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/