Messages in this thread | | | Subject | Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8) | From | Peter Zijlstra <> | Date | Thu, 27 May 2010 19:25:27 +0200 |
| |
On Thu, 2010-05-27 at 19:21 +0200, Florian Mickler wrote: > On Thu, 27 May 2010 18:45:25 +0200 (CEST) > Thomas Gleixner <tglx@linutronix.de> wrote: > > > The whole notion of treating suspend to RAM any different than a plain > > idle C-State is wrong. It's not different at all. You just use a > > different mechanism which has longer takedown and wakeup latencies and > > requires to shut down stuff and setup extra wakeup sources. > > > > And there is the whole problem. Switching from normal event delivery > > to those special wakeup sources. That needs to be engineered in any > > case carefuly and it does not matter whether you add suspend blockers > > or not. > > Ok, I just don't know the answer: How is it just another idle state if > the userspace gets frozen? Doesn't that bork the whole transition and > you need a userspace<->kernel synchronisation point to not loose events?
There is no userspace to freeze when the runqueues are empty.
And as explained, you won't loose events if all the devices do a proper state transition. To quote:
On Thu, 2010-05-27 at 18:45 +0200, Thomas Gleixner wrote: > If the interrupt happens _BEFORE_ we switch over to the quiescent > state, then we need to backout. If it happens after the switch then it > goes into the nirwana if the suspend wakeup has not been set up > correctly. If we have it setup correctly then we go into suspend just > to come back immediately. There is nothing you can do about that with > suspend blockers. >
| |