Re: [update 2] Re: [RFC][PATCH] PM: Avoid losing wakeup events during suspend

From: Rafael J. Wysocki
Date: Fri Jun 25 2010 - 16:39:31 EST


On Friday, June 25, 2010, Alan Stern wrote:
> On Fri, 25 Jun 2010, Rafael J. Wysocki wrote:
>
> > > That's not the point. If a wakeup handler queues a work item (for
> > > example, by calling pm_request_resume) then it wouldn't need to guess a
> > > timeout. The work item would be guaranteed to run before the system
> > > could suspend again.
> >
> > You seem to be referring to the PM workqueue specifically. Perhaps it would be
> > better to special-case it and stop it by adding a barrier work during suspend
> > instead of just freezing? Then, it wouldn't need to be singlethread any more.
>
> The barrier work would have to be queued to each CPU's thread. That
> would be okay.

I guess we should stop the PM workqueue after the freezing of tasks, shouldn't we?

> Hmm, it looks like wait_event_freezable() and
> wait_event_freezable_timeout() could use similar changes: If the
> condition is true then they shouldn't try to freeze the caller.

Yes, but that should be a separate patch IMHO.

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/