Re: [BUG] New Kernel Bugs

Mark Lord
2007-11-13T17:48:10Z

Thomas Gleixner wrote:
> On Tue, 13 Nov 2007, Mark Lord wrote:
..
>> I *still* get very slow resume-from-RAM quite often here
>> (new in 2.6.23 kernel, wasn't there in early 2.6.23-rc*).
..
>> Something eventually times out after a minute or so
>> and it comes back. Cannot make it happen reliably,
>> unless I'm in a hurry to get something done. :)
>> I suspect USB here, probably the same loopy bug that
>> we added a "loop limit failsafe" for back in 2.6.21(?).
>
> Do you have a pointer to that please ?
..

The "limit" added in the code below,
which was for messages of this form:

hub 1-1:1.0: hub_port_status failed (err = -71)
last message repeated 347 times

drivers/usb/hub.c:
> static void hub_tt_kevent (struct work_struct *work)
> {
> struct usb_hub *hub =
> container_of(work, struct usb_hub, tt.kevent);
> unsigned long flags;
> int limit = 100;
>
> spin_lock_irqsave (&hub->tt.lock, flags);
> while (--limit && !list_empty (&hub->tt.clear_list)) {
> ...

I'm not yet sure what's happening on resume now,
but there's this huge long pause with a dark screen
and then suddenly the USB subsystem comes to life
(my mouse lights up) and the system finally resumes.

More when I know more. But it doesn't happen every time,
or even most times, so git-bisect is not possible either.

This one actually requires a developer/maintainer to put
in some effort and think about things. Currently, that's me.

-ml