Messages in this thread | | | Date | Mon, 9 Nov 2009 20:13:51 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: Help needed: Resume problems in 2.6.32-rc, perhaps related to preempt_count leakage in keventd |
| |
On Mon, 9 Nov 2009, Rafael J. Wysocki wrote: > On Monday 09 November 2009, Mike Galbraith wrote: > > On Mon, 2009-11-09 at 16:47 +0100, Rafael J. Wysocki wrote: > > > On Monday 09 November 2009, Mike Galbraith wrote: > > > > > > > Very likely. What did you do to fix it? > > > > > > > > You don't really wanna know. In 31 with newidle enabled, the below > > > > fixed it. It won't fix 32, though it might cure the resume problem. > > > > > > OK, I'll give it a try. > > It doesn't help. > > Also, I can reproduce the issue with current -git and kernel preepmtion > disabled. > > > I just tried to trigger badness via high speed online/offline combined > > with taskset with CONFIG_PREEMPT enabled, and couldn't make it explode. > > I'm not able to do it this way too, so resume seems to be necessary to trigger > it. I'm going try with the suspend debug in the "core" mode. > > > (damn, wish i could s2ram this box) > > That need not suffice. I have two other boxes that suspend and resume > correctly with 2.6.32-rc, AFAICS. > > However, there seems to be a systematic error somewhere, since the failure > always happens at the same place, ie. list_del_init(cwq->worklist.next); in > run_workqueue(), in preemptible as well as in non-preemptible kernels. > > Which is kind of strange, given the !list_empty(&cwq->worklist) test right > before it.
Hmm, no. list_empty() just tells you whether the list is empty or not. It does not care whether the list is corrupted or not. Have you tried to run with list debugging enabled ?
Thanks,
tglx
| |