Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [Regression] 2.6.24-git3: Major annoyance during suspend/hibernation on x86-64 (bisected) | Date | Thu, 31 Jan 2008 21:54:32 +0100 |
| |
On Thursday, 31 of January 2008, Peter Zijlstra wrote: > > On Mon, 2008-01-28 at 02:26 +0100, Rafael J. Wysocki wrote: > > On Sunday, 27 of January 2008, Ingo Molnar wrote: > > > > > > * Rafael J. Wysocki <rjw@sisk.pl> 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@redhat.com> > > > > 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@elte.hu> > > 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. > > I can seem to reproduce this: > > [root@opteron cpu1]# time echo 0 > online > > real 0m6.230s > user 0m0.000s > sys 0m0.010s > [root@opteron cpu1]# echo 1 > online > [root@opteron cpu1]# time echo 0 > online > > real 0m7.966s > user 0m0.000s > sys 0m0.011s > > > I'll have a look at it.
Much appreciated, thanks!
| |