Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8)

From: Matthew Garrett
Date: Fri May 28 2010 - 10:06:09 EST


On Fri, May 28, 2010 at 02:55:26PM +0100, Alan Cox wrote:

> The following cannot occur on my laptop for simple idling
>
> Alarm
> Suspend
>
> because the Alarm resets the suspend timer when it is delivered.

Userspace is about to write to /sys/power/state when it gets scheduled.
Alarm delivery occurs at that instant. Kernel has no idea that it's
about to go to sleep, so the driver handles things appropriately and
clears the hardware state. Userspace gets scheduled, writes and the
system suspends. The problem is that having userspace decidie to
initiate a suspend and then actually initiate a suspend isn't an atomic
operation.

--
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/