[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1005131740370.1731-100000@iolanthe.rowland.org>
Date: Thu, 13 May 2010 17:41:31 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Tony Lindgren <tony@...mide.com>
cc: Matthew Garrett <mjg@...hat.com>, Paul Walmsley <paul@...an.com>,
Arve Hjønnevåg <arve@...roid.com>,
Linux-pm mailing list <linux-pm@...ts.linux-foundation.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Tejun Heo <tj@...nel.org>, Oleg Nesterov <oleg@...hat.com>,
Kevin Hilman <khilman@...prootsystems.com>,
<magnus.damm@...il.com>, Theodore Ts'o <tytso@....edu>,
mark gross <mgross@...ux.intel.com>,
Arjan van de Ven <arjan@...radead.org>,
Geoff Smith <geoffx.smith@...el.com>,
Brian Swetland <swetland@...gle.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Benoît Cousson <b-cousson@...com>,
<linux-omap@...r.kernel.org>, Vitaly Wool <vitalywool@...il.com>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Liam Girdwood <lrg@...mlogic.co.uk>
Subject: Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6)
On Thu, 13 May 2010, Tony Lindgren wrote:
> Well this is an interesting problem, and once solved will be handy
> for all kind of things. My worry is that if it's integrated in it's
> current form it will be totally out of control all over the place :(
>
> Still hoping we can come up with some clean way that avoid the patching
> all over the place part.. How about the following, can you please check
> if it would help with your example of guaranteed handling of event:
>
> 1. In the kernel, we add one more timer queue for critical timers.
> The current timer queue(s) stay as it is.
>
> 2. We allow selecting the timer based on some flag, the default
> behaviour being the current default timer queue.
>
> 3. Then we add next_timer_interupt_critical() to only query the
> critical timers along the lines of the current next_timer_interrupt().
>
> 4. We implement a custom pm_idle that suspends the system based on
> some logic and checking if next_timer_interrupt_critical() is
> empty. If the next_timer_interrupt_critical() does not return
> anything, we assume it's OK to suspend the system.
>
> Now to me it sounds if your the input layer and userspace handle
> both grab the timers with the critical flags, it should be guaranteed
> that the events get handled before the system is suspended.
Why do you want this to be tied to timers? Many of the events in
question are asynchronous with no specific timing relations.
Alan Stern
--
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