[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100513215404.GN3428@atomide.com>
Date: Thu, 13 May 2010 14:54:05 -0700
From: Tony Lindgren <tony@...mide.com>
To: Alan Stern <stern@...land.harvard.edu>
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)
* Alan Stern <stern@...land.harvard.edu> [100513 14:36]:
> 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.
To me it seems that the non-timer related events can be dealt
with toggling the opportunistic suspend idle flag in sysfs.
That should depend on the device and use specific policy.
Tony
--
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