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
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html