Messages in this thread | | | Date | Sat, 2 Feb 2008 00:22:35 +0100 | From | "Dmitry Adamushko" <> | Subject | Re: [Regression] 2.6.24-git3: Major annoyance during suspend/hibernation on x86-64 (bisected) |
| |
On 01/02/2008, Ingo Molnar <mingo@elte.hu> wrote: > > * Dmitry Adamushko <dmitry.adamushko@gmail.com> wrote: > > > > 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(). > > Doh. Could someone with ths problem please test the patch below, does it > do the trick?
yeah, I was already on a half-way to check it out.
It does fix a problem for me.
Don't forget to take along these 2 fixes from Peter's patch:
- fix break usage in do_each_thread() { } while_each_thread(). - fix the hotplug switch stmt, a fall-through case was broken.
Rafael, does your system still hangs? I'd expect, yes -- as effectively this fix is not that different from Peter's one when it comes to suspend-case.
Can you then send your config? Anything special about this machine (say, some /proc tunables are altered)?
> > Ingo >
-- Best regards, Dmitry Adamushko
| |