Re: [PATCH 1/8] PM: Opportunistic suspend support.

From: Matthew Garrett
Date: Wed May 26 2010 - 09:21:40 EST


On Wed, May 26, 2010 at 02:57:45PM +0200, Peter Zijlstra wrote:

> I fail to see why. In both cases the woken userspace will contact a
> central governing task, either the kernel or the userspace suspend
> manager, and inform it there is work to be done, and please don't
> suspend now.

Thinking about this, you're right - we don't have to wait, but that does
result in another problem. Imagine we get two wakeup events
approximately simultaneously. In the kernel-level universe the kernel
knows when both have been handled. In the user-level universe, we may
have one task schedule, bump the count, handle the event, drop the count
and then we attempt a suspend again because the second event handler
hasn't had an opportunity to run yet. We'll then attempt a suspend and
immediately bounce back up. That's kind of wasteful, although it'd be
somewhat mitigated by checking that right at the top of suspend entry
and returning -EAGAIN or similar.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
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/