[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1274982729.27810.5703.camel@twins>
Date: Thu, 27 May 2010 19:52:09 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Florian Mickler <florian@...kler.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Matthew Garrett <mjg59@...f.ucam.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Arve Hjønnevåg <arve@...roid.com>,
Vitaly Wool <vitalywool@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
Paul@...p1.linux-foundation.org, felipe.balbi@...ia.com,
Linux OMAP Mailing List <linux-omap@...r.kernel.org>,
Linux PM <linux-pm@...ts.linux-foundation.org>
Subject: Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8)
On Thu, 2010-05-27 at 19:42 +0200, Florian Mickler wrote:
> If in the imaginery situation where userspace can aquire certain
> wakeup-constraints and loose certain wakeup-constraints, then it could
> be that the system enters suspend without empty runqueues.
No. Wakeup constaints simply delay wakeups, not loose them.
If there's something runnable, we run it.
What could happen is that you try to program a timer every 5ms, but then
QoS won't let you and errors the timer_create() or something. But then
the app gets to deal with it.
> > And as explained, you won't loose events if all the devices do a proper
> > state transition. To quote:
>
> I believe the problem beeing userspace frozen at an unopportune time.
> So the wakeup event is processed (kernel-side) but userspace didn't
> have time to reacquire the correct wakeup-constraint to process the
> event.
>
> I.e. the wakeup will be effectivly ignored.
How so, event happens on hardware level, IRQ gets raised, CPU wakes up,
handler gets run, handler generates a task wakeup, runqueue isn't empty,
we run stuff.
I'm not quite sure how to loose something there.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists