Re: [Regression] 2.6.24-git3: Major annoyance during suspend/hibernation on x86-64 (bisected)

From: Rafael J. Wysocki
Date: Sun Jan 27 2008 - 20:29:00 EST


On Sunday, 27 of January 2008, Ingo Molnar wrote:
>
> * Rafael J. Wysocki <rjw@xxxxxxx> wrote:
>
> > Hi,
> >
> > 2.6.24-git3 adds a 5 - 10 sec delay to the suspend and hibernation
> > code paths (probably related to the disabling of nonboot CPUs), which
> > is !@#$%^&*() annoying.
> >
> > It's 100% reproducible on my HP nx6325 and bisection idendified the
> > following commit as the first bad one:
> >
> > commit 764a9d6fe4b52995c8aba277e3634385699354f4
> > Author: Steven Rostedt <srostedt@xxxxxxxxxx>
> > Date: Fri Jan 25 21:08:04 2008 +0100
> >
> > sched: track highest prio task queued
>
> hm, this patch is a NOP, so it's weird that it has an effect.
>
> Do you have serial logging enabled perhaps? If the following WARN_ON()
> triggers:
>
> + WARN_ON(p->prio < rq->rt.highest_prio);
>
> then perhaps that can cause a 5-10 seconds delay. (that's how much time
> it takes to printk a warning on the slowest serial settings)
>
> but if you use suspend, then any such printks would be preserved in the
> dmesg, right? If the WARN_ON() triggers, and if you remove it, do things
> get faster?

No, this isn't the WARN_ON().

> this does have the feel of being scheduling related, but are you
> absolutely sure about the precise identity of the patch?

Actually, not quite. That's why I have verified it and found that another
patch is really responsible for the issue, namely:

commit 82a1fcb90287052aabfa235e7ffc693ea003fe69
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Fri Jan 25 21:08:02 2008 +0100

softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks

Reverting this commit (it reverts with some minor modifications) fixes the
problem for me.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/