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/

Reply via email to