linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: mark gross <mgross@linux.intel.com>
To: Kevin Hilman <khilman@deeprootsystems.com>
Cc: "Arve Hjønnevåg" <arve@android.com>,
	linux-pm@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	"Alan Stern" <stern@rowland.harvard.edu>,
	"Tejun Heo" <tj@kernel.org>, "Oleg Nesterov" <oleg@redhat.com>,
	"Paul Walmsley" <paul@pwsan.com>,
	magnus.damm@gmail.com, "Arjan van de Ven" <arjan@infradead.org>,
	"Geoff Smith" <geoffx.smith@intel.com>
Subject: Re: [PATCH 0/8] Suspend block api (version 6)
Date: Wed, 5 May 2010 13:35:30 -0700	[thread overview]
Message-ID: <20100505203530.GD27927@linux.intel.com> (raw)
In-Reply-To: <87wrvl5479.fsf@deeprootsystems.com>

On Mon, May 03, 2010 at 09:40:26AM -0700, Kevin Hilman wrote:
> Arve Hjønnevåg <arve@android.com> writes:
> 
> > This patch series adds a suspend-block api that provides the same
> > functionality as the android wakelock api. This version fixes a race
> > in suspend blocking work, has some documentation changes and
> > opportunistic suspend now uses the same workqueue as runtime pm.
> 
> Earlier this month, several folks intersted in embedded PM had a BoF
> as part of the Embedded Linux Conference[1] in San Francisco.  Many of
> us had concerns about wakelocks/suspend-blockers and I wanted to share
> some of mine here, since I don't know if embedded folks (other than
> Google) were included in discussions during the LF Collab summmit.
> 
> I hope other embedded folks will chime in here as well.  My background
> is in embedded as one of the kernel developers on the TI OMAP SoCs,
> and I work primarily on PM stuff.
> 
> My comments are not about this implementation of suspend blockers in
> particular, but rather on the potential implications of suspend
> blockers in general.  

I also think we need to take a hard look at the process here. 

--mgross

> Sorry for the lengthy mail, it's broken up in to 3 parts:
> 
> - suspend blockers vs. runtime PM
> - how to handle PM aware drivers?
> - what about dumb or untrusted apps
> 
> 
> Suspend blockers vs runtime PM
> ------------------------------
> 
> My primary concern is that suspend blockers attempt to address the
> same problem(s) as runtime PM, but with a very different approach.
> Suspend blockers use one very large hammer whereas runtime PM hands
> out many little hammers.  Since I believe power management to be a
> problem of many little nails, I think many little hammers are better
> suited for the job.
> 
> Currently in the kernel, we have two main forms of PM
> 
> - static PM (system PM, traditional suspend/resume etc.)
> - dynamic PM (runtime PM, CPUfreq, CPUidle, etc.)
> 
> And with the addition of suspend blockers we have something in
> between.  In my simple world, I think of suspend_blockers as static PM
> with a retrofit of some basic dynamic capabilities.  In my view, a
> poor man's dynamic PM.
> 
> The current design of suspend blockers was (presumably) taken due to
> major limitations and/or problems in dynamic PM when it was designed.
> However, since then, some very signifcant improvements in dynamic PM
> have come along, particularily in the form of runtime PM.  What I
> still feel is missing from this discussion are details about why the
> issues addressed by suspend blockers cannot be solved with runtime PM.
> 
> It seems to me the keypad/screen example given in the doc can very
> easily be solved with runtime PM.  The goal of that example is that
> the keypad not turn on the screen unless a specific key is pressed.
> That is rather easy to accomplish using runtime PM:
>  
> 1. system is idle, all devices/drivers runtime suspended
>    (display and keypad drivers are both runtime suspended)
> -  keypress triggers wakeup ->runtime_resume() of keypad (screen is
>    still runtime suspended)
> -  key press trickles up to userspace
> -  keypad driver is done, goes idle and is runtime supended
> -  userspace decides whether or not to turn on screen based on key
> -  if not, goto 1, (display is still runtime suspended)
> -  if so, start using display and it will be runtime resumed
> 
> I realize this keypad example was only one example usage of suspend
> blockers, but I suspect the others would be solved similarily using
> runtime PM.
> 
> But anyways, to get back to the main point: 
> 
> I feel the main problems tackled by _kernel_ suspend blockers (as I
> understand them) are the same problems already addressed by runtime
> PM.  First and formost, both have the same guiding principle:
> 
>   Rule #1: Always try for lowest power state, unless X
> 
> For runtime PM, X = "activity"
> For suspend blockers, X = a held suspend_blocker
> 
> In addition, both have the same secondary goals:
> 
> - keep device PM independent of other devices (e.g. don't wake up
>   screen just because keypad was pressed)
> 
> - wakeups/events can be handled in a device specific way, without
>   affecting other devices or rest of the system, unless desired
> 
> So, the goals are the same, but the approaches are different.  Runtime
> PM makes each of the drivers and subsystems do the work, where suspend
> blockers just forces the issue from on high.  IMHO, the more flexible
> and generic approach of runtime PM is more suited to a general purpose
> kernel than the one-big-hammer approach currently taken by suspend
> blockers.
> 
> 
> What about PM aware drivers?
> ----------------------------
> 
> All of this brings up a second major concern regarding how to write PM
> aware drivers.
> 
> At least from the kernel perspective, both suspend blockers and
> runtime PM have the same goal.  Given that, which framework should the
> driver writer target?  Both?  Seems like duplicate effort.  Using
> suspend blockers assumes the system is in opportunitstic suspend mode
> and (at least in the keypad example given) assumes a suspend-blocker
> aware userspace (Android.) Without both, targeted power savings will
> not be acheived.
> 
> To me, runtime PM is a generic and flexible approach that can be used
> with any userspace.  Driver writers should not have to care whether
> the system is in "opportunistic" mode or about whether userspace is
> suspend blocker capable.  They should only have to think about when
> the device is (or should be) idle.
> 
> >From my experience with OMAP, we *really* do not want to care about
> what userspace is or isn't capable of, or what suspend-mode the kernel
> is in.  Among other things, the OMAP linux kernel is used in the Nokia
> N900 (Maemo), the Motorola Droid (Android) and the Palm Pre (webOS).
> Comments on the future of each SW stack aside, we really want to run
> the same kernel and drivers across all of those platforms as well as
> whatever comes next.
> 
> 
> What about dumb or untrusted apps?
> ---------------------------------------
> 
> In my view, the truly significant difference between suspend blockers
> and runtime PM is what happens to userspace.  So far, to me the only
> compelling argument for suspend blockers is the goal of forcibly
> shutting down userspace and thus forcing the system into idle
> (although drivers could still reject a suspend request.)
> 
> Again, since suspend blockers were designed, there have been major
> efforts to track and fix userspace as well as underlying timer issues
> (deferrable timers, coalescing, timer slack ...) that led to
> unnecessary wakeups from userspace.  Wouldn't it be better to spend
> our collective efforts in continuing in that direction instead of just
> hiding the underlying problems by forcing suspend?  Fixing the root
> causes will be better for everyone, not just those using Android.
> 
> And if untrusted userspace apps remain as the major problem, maybe we
> should aim for a solution directly targetting that problem.  I'm just
> shooting from the hip now, but maybe containing (cgroups?) untrusted
> processes together into a set that could be frozen/idled so that runtime PM
> would be more effective would be a workable solution?
> 
> Anyways, that's enough rambling for now.  I hope that sheds some light
> on the concerns I have with suspend blockers.
> 
> Kevin
> 
> [1] http://embeddedlinuxconference.com/elc_2010/index.html

  parent reply	other threads:[~2010-05-05 20:35 UTC|newest]

Thread overview: 324+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-30 22:36 [PATCH 0/8] Suspend block api (version 6) Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-04-30 22:36   ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-04-30 22:36     ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Arve Hjønnevåg
2010-04-30 22:36       ` [PATCH 4/8] PM: suspend_block: Add debugfs file Arve Hjønnevåg
2010-04-30 22:36         ` [PATCH 5/8] PM: suspend_block: Add suspend_blocker stats Arve Hjønnevåg
2010-04-30 22:36           ` [PATCH 6/8] PM: Add suspend blocking work Arve Hjønnevåg
2010-04-30 22:37             ` [PATCH 7/8] Input: Block suspend while event queue is not empty Arve Hjønnevåg
2010-04-30 22:37               ` [PATCH 8/8] power_supply: Block suspend while power supply change notifications are pending Arve Hjønnevåg
2010-05-01  6:14             ` [PATCH 6/8] PM: Add suspend blocking work Tejun Heo
2010-05-02  7:05             ` Pavel Machek
2010-05-04 11:16         ` [PATCH 4/8] PM: suspend_block: Add debugfs file Andi Kleen
2010-05-04 21:06           ` Arve Hjønnevåg
2010-05-02  6:57       ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Pavel Machek
2010-05-02  7:04     ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Pavel Machek
2010-05-02 21:23     ` Rafael J. Wysocki
2010-05-02 21:56       ` Alan Stern
2010-05-03 15:03         ` Rafael J. Wysocki
2010-05-03 21:26           ` Arve Hjønnevåg
2010-05-03 21:49             ` Rafael J. Wysocki
2010-05-03 22:01               ` Arve Hjønnevåg
2010-05-04 20:02                 ` Rafael J. Wysocki
2010-05-04  4:16           ` Pavel Machek
2010-05-02  6:56   ` [PATCH 1/8] PM: Add suspend block api Pavel Machek
2010-05-02 20:10     ` Rafael J. Wysocki
2010-05-02 20:52       ` Pavel Machek
2010-05-02 21:29         ` Rafael J. Wysocki
2010-05-03 19:01           ` Pavel Machek
2010-05-03 21:38             ` Rafael J. Wysocki
2010-05-03 22:11               ` Alan Stern
2010-05-03 22:24                 ` Arve Hjønnevåg
2010-05-02  7:01   ` Pavel Machek
2010-05-04  5:12   ` [linux-pm] " mark gross
2010-05-04 13:59     ` Alan Stern
2010-05-04 16:03       ` mark gross
2010-05-04 17:16         ` Alan Stern
2010-05-05  1:50           ` mark gross
2010-05-05 13:31             ` Matthew Garrett
2010-05-05 20:09               ` mark gross
2010-05-05 20:21                 ` Matthew Garrett
2010-05-05 15:44             ` Alan Stern
2010-05-05 20:28               ` mark gross
2010-05-05 21:12                 ` Alan Stern
2010-05-05 21:37                   ` Brian Swetland
2010-05-05 23:47                     ` Tony Lindgren
2010-05-05 23:56                       ` Brian Swetland
2010-05-06  0:05                         ` Tony Lindgren
2010-05-06  4:16                           ` Arve Hjønnevåg
2010-05-06 17:04                             ` Tony Lindgren
2010-05-07  0:10                               ` Arve Hjønnevåg
2010-05-07 15:54                                 ` Tony Lindgren
2010-05-28  6:43                                 ` Pavel Machek
2010-05-28  7:01                                   ` Arve Hjønnevåg
2010-05-06 13:40                       ` Matthew Garrett
2010-05-06 17:01                         ` Tony Lindgren
2010-05-06 17:09                           ` Matthew Garrett
2010-05-06 17:14                             ` Tony Lindgren
2010-05-06 17:22                               ` Matthew Garrett
2010-05-06 17:38                                 ` Tony Lindgren
2010-05-06 17:43                                   ` Matthew Garrett
2010-05-06 18:33                                     ` Tony Lindgren
2010-05-06 18:44                                       ` Matthew Garrett
2010-05-07  2:05                                         ` Tony Lindgren
2010-05-07 17:12                                           ` Matthew Garrett
2010-05-07 17:35                                             ` Tony Lindgren
2010-05-07 17:50                                               ` Matthew Garrett
2010-05-07 18:01                                                 ` Tony Lindgren
2010-05-07 18:28                                                   ` Matthew Garrett
2010-05-07 18:43                                                     ` Tony Lindgren
2010-05-07 18:46                                                       ` Matthew Garrett
2010-05-07 19:06                                                         ` Daniel Walker
2010-05-07 19:28                                                           ` Tony Lindgren
2010-05-07 19:33                                                             ` Matthew Garrett
2010-05-07 19:55                                                               ` Tony Lindgren
2010-05-07 20:28                                                                 ` Matthew Garrett
2010-05-07 20:53                                                                   ` Tony Lindgren
2010-05-07 21:03                                                                     ` Matthew Garrett
2010-05-07 21:25                                                                       ` Tony Lindgren
2010-05-07 21:32                                                                         ` Arve Hjønnevåg
2010-05-07 21:39                                                                         ` Matthew Garrett
2010-05-07 21:42                                                                           ` Tony Lindgren
2010-05-07 21:48                                                                             ` Matthew Garrett
2010-05-07 22:00                                                                               ` Tony Lindgren
2010-05-07 22:28                                                                                 ` Matthew Garrett
2010-05-07 21:30                                                                       ` Daniel Walker
2010-05-07 21:35                                                                         ` Arve Hjønnevåg
2010-05-07 21:43                                                                           ` Daniel Walker
2010-05-07 21:38                                                                         ` Matthew Garrett
2010-05-06 18:47                                       ` Alan Stern
2010-05-07  2:20                                         ` Tony Lindgren
2010-05-28 13:29                                   ` Pavel Machek
2010-05-28 13:42                                     ` Brian Swetland
2010-05-06 17:35                               ` Daniel Walker
2010-05-06 18:36                                 ` Tony Lindgren
2010-05-06 19:11                                   ` Daniel Walker
2010-05-07  2:00                                     ` Tony Lindgren
2010-05-07 17:20                                       ` Daniel Walker
2010-05-07 17:36                                         ` Matthew Garrett
2010-05-07 17:40                                           ` Daniel Walker
2010-05-07 17:51                                             ` Matthew Garrett
2010-05-07 18:00                                               ` Daniel Walker
2010-05-07 18:17                                                 ` Tony Lindgren
2010-05-07 17:50                                         ` Tony Lindgren
2010-05-07  3:45                               ` mgross
2010-05-07  3:45                             ` mgross
2010-05-07  4:10                               ` Arve Hjønnevåg
2010-05-04 20:40     ` Arve Hjønnevåg
2010-05-03 16:40 ` [PATCH 0/8] Suspend block api (version 6) Kevin Hilman
2010-05-03 17:12   ` Alan Stern
2010-05-03 18:17     ` Kevin Hilman
2010-05-03 18:07   ` Mark Brown
2010-05-03 21:18     ` Rafael J. Wysocki
2010-05-03 23:37       ` Kevin Hilman
2010-05-04  0:09         ` Arve Hjønnevåg
2010-05-04  0:43           ` Brian Swetland
2010-05-04 13:59             ` Mark Brown
2010-05-04 18:06               ` Kevin Hilman
2010-05-04 19:06                 ` Mark Brown
2010-05-04 20:37                   ` Rafael J. Wysocki
2010-05-04 23:14                     ` Kevin Hilman
2010-05-04 23:42                       ` Rafael J. Wysocki
2010-05-04 20:23                 ` Rafael J. Wysocki
2010-05-04 20:44                   ` Rafael J. Wysocki
2010-05-04 23:56                   ` Mark Brown
2010-05-05  0:22                     ` Rafael J. Wysocki
2010-05-05  1:11                       ` Brian Swetland
2010-05-05 11:06                       ` Mark Brown
2010-05-05 12:00                         ` Brian Swetland
2010-05-05 13:56                           ` Mark Brown
2010-05-05 17:33                             ` Matthew Garrett
2010-05-05 18:36                               ` Alan Stern
2010-05-05 18:52                                 ` Matthew Garrett
2010-05-05 19:13                                   ` Alan Stern
2010-05-05 19:22                                     ` Matthew Garrett
2010-05-05 19:52                                       ` Mark Brown
2010-05-05 19:55                                         ` tytso
2010-05-05 20:26                                           ` Mark Brown
2010-05-05 20:44                                             ` Rafael J. Wysocki
2010-05-05 21:57                                               ` Mark Brown
2010-05-05 22:03                                                 ` Brian Swetland
2010-05-05 22:05                                                 ` Rafael J. Wysocki
2010-05-05 23:09                                                   ` Mark Brown
2010-05-05 23:33                                                     ` Rafael J. Wysocki
2010-05-06  0:21                                                       ` Mark Brown
2010-05-06  0:51                                                         ` Rafael J. Wysocki
2010-05-05 20:02                                         ` Matthew Garrett
2010-05-05 20:09                                           ` Mark Brown
2010-05-05 19:39                                     ` Mark Brown
2010-05-05 20:56                                     ` Brian Swetland
2010-05-05 23:40                                       ` Mark Brown
2010-05-06  4:25                                         ` Arve Hjønnevåg
2010-05-07 10:04                                           ` Mark Brown
2010-05-07 10:57                                             ` Arve Hjønnevåg
2010-05-07 11:21                                               ` Mark Brown
2010-05-07 11:29                                                 ` Theodore Tso
2010-05-07 12:25                                                   ` Mark Brown
2010-05-07 12:37                                                     ` Brian Swetland
2010-05-07 13:30                                                       ` Mark Brown
2010-05-11 18:47                                                         ` Mark Brown
2010-05-07 11:41                                                 ` Arve Hjønnevåg
2010-05-07 14:00                                                   ` Mark Brown
2010-05-05 19:07                                 ` Mark Brown
2010-05-05 19:20                                   ` Alan Stern
2010-05-05 19:28                                     ` Matthew Garrett
2010-05-05 20:04                                       ` Alan Stern
2010-05-05 20:15                                         ` Mark Brown
2010-05-05 20:28                                         ` Rafael J. Wysocki
2010-05-05 23:03                                         ` Kevin Hilman
2010-05-05 23:16                                           ` Rafael J. Wysocki
2010-05-05 23:42                                           ` Brian Swetland
2010-05-06 14:08                                             ` Alan Stern
2010-05-06 19:26                                               ` Rafael J. Wysocki
2010-05-05 18:39                               ` Mark Brown
2010-05-05 15:35                     ` Alan Stern
2010-05-05 16:27                       ` Mark Brown
2010-05-04 18:04           ` Kevin Hilman
2010-05-04  0:43         ` Matthew Garrett
2010-05-04 13:51           ` Alan Stern
2010-05-04 14:53             ` Mark Brown
2010-05-04 15:13             ` Kevin Hilman
2010-05-04 15:27             ` Matthew Garrett
2010-05-06  1:40               ` Magnus Damm
2010-05-04 15:13           ` Kevin Hilman
2010-05-04 15:28             ` Matthew Garrett
2010-05-03 21:50   ` Matthew Garrett
     [not found]     ` <alpine.DEB.2.00.1005141408260.3348@utopia.booyaka.com>
     [not found]       ` <20100514203202.GA12409@srcf.ucam.org>
     [not found]         ` <87aas2azc5.fsf@deeprootsystems.com>
     [not found]           ` <20100514231510.GG16989@thunk.org>
     [not found]             ` <87r5laa4oc.fsf@deeprootsystems.com>
     [not found]               ` <AANLkTilL90pYVlquvMDAEPHj_AraEi9Qzk-0tTjw9Bkx@mail.gmail.com>
2010-05-17 20:07                 ` [linux-pm] " Mike Chan
2010-05-17 20:17                   ` Vitaly Wool
2010-05-17 21:04                     ` Mike Chan
2010-05-17 22:55                   ` Kevin Hilman
2010-05-17 23:04                     ` Brian Swetland
2010-05-24 18:57     ` Pavel Machek
2010-05-24 19:08       ` Matthew Garrett
2010-05-25  1:16       ` Arve Hjønnevåg
2010-05-26 17:32         ` Pavel Machek
2010-05-05 20:35   ` mark gross [this message]
2010-05-10 18:06   ` Kevin Hilman
2010-05-10 20:25     ` Rafael J. Wysocki
2010-05-11 16:12       ` Tony Lindgren
2010-05-11 16:14         ` Matthew Garrett
2010-05-11 16:36           ` Tony Lindgren
2010-05-11 16:45             ` Matthew Garrett
2010-05-11 16:58               ` Tony Lindgren
2010-05-11 17:03                 ` Matthew Garrett
2010-05-11 17:24                   ` Tony Lindgren
2010-05-11 17:30                     ` Matthew Garrett
2010-05-11 17:48                       ` Tony Lindgren
2010-05-11 18:01                         ` Matthew Garrett
2010-05-11 18:19                       ` Rafael J. Wysocki
2010-05-12  1:11     ` Arve Hjønnevåg
2010-05-12 11:22       ` Mark Brown
2010-05-13  3:35 ` [linux-pm] " Paul Walmsley
2010-05-13 12:17   ` Matthew Garrett
2010-05-13 17:33     ` Daniel Walker
2010-05-13 18:17       ` Brian Swetland
2010-05-13 18:25         ` Daniel Walker
2010-05-13 18:36           ` Matthew Garrett
2010-05-13 18:59             ` Daniel Walker
2010-05-13 19:11               ` Matthew Garrett
2010-05-13 19:36                 ` Daniel Walker
2010-05-13 19:48                   ` Matthew Garrett
2010-05-13 21:11                     ` Rafael J. Wysocki
2010-05-13 21:16                       ` Daniel Walker
2010-05-13 21:27                         ` Rafael J. Wysocki
2010-05-13 21:33                           ` Daniel Walker
2010-05-13 21:36                             ` Tony Lindgren
2010-05-13 21:54                               ` Rafael J. Wysocki
2010-05-13 21:46                             ` Greg KH
2010-05-13 22:27                               ` Mark Brown
2010-05-13 22:45                                 ` Greg KH
2010-05-14  0:03                                   ` Mark Brown
2010-05-13 22:46                                 ` Rafael J. Wysocki
2010-05-13 23:36                                   ` Mark Brown
2010-05-13 23:48                                     ` Brian Swetland
2010-05-14  0:29                                       ` Mark Brown
2010-05-13 22:33                               ` Woodruff, Richard
2010-05-13 22:46                                 ` Greg KH
2010-05-13 23:06                                   ` Arve Hjønnevåg
2010-05-13 23:28                                   ` Brian Swetland
2010-05-14 16:47                               ` Daniel Walker
2010-05-13 14:16   ` Alan Stern
2010-05-13 19:17     ` Tony Lindgren
2010-05-13 19:25       ` Matthew Garrett
2010-05-13 19:42         ` Tony Lindgren
2010-05-13 19:53           ` Matthew Garrett
2010-05-13 20:00             ` Tony Lindgren
2010-05-13 20:08               ` Matthew Garrett
2010-05-13 20:23                 ` Tony Lindgren
2010-05-13 20:34                   ` Matthew Garrett
2010-05-13 21:10                     ` Tony Lindgren
2010-05-13 21:21                       ` Matthew Garrett
2010-05-13 21:34                         ` Tony Lindgren
2010-05-15 19:54                           ` Matthew Garrett
2010-05-13 21:21                     ` Rafael J. Wysocki
2010-05-13 21:25                       ` Tony Lindgren
2010-05-13 21:56                         ` Rafael J. Wysocki
2010-05-14 20:41                           ` Kevin Hilman
2010-05-14 21:25                             ` Rafael J. Wysocki
2010-05-14 21:40                             ` Kevin Hilman
2010-05-14 21:50                               ` Rafael J. Wysocki
2010-05-14 22:45                                 ` Kevin Hilman
2010-05-14 22:59                                   ` Brian Swetland
2010-05-15  2:58                                     ` Alan Stern
2010-05-15  3:40                                       ` Brian Swetland
2010-05-15 21:19                                         ` Alan Stern
2010-05-17 15:40                                           ` Kevin Hilman
2010-05-17 17:04                                             ` James Bottomley
2010-05-17 17:47                                               ` Felipe Balbi
2010-05-17 17:58                                                 ` Matthew Garrett
2010-05-17 18:16                                                   ` Felipe Balbi
2010-05-17 17:59                                                 ` James Bottomley
2010-05-17 18:12                                                   ` Felipe Balbi
2010-05-17 18:26                                                     ` Brian Swetland
2010-05-17 18:39                                                       ` Felipe Balbi
2010-05-17 18:45                                                         ` Brian Swetland
2010-05-17 20:22                                                           ` Rafael J. Wysocki
2010-05-17 18:45                                                         ` Mark Brown
2010-05-17 18:47                                                         ` Mike Chan
2010-05-17 19:24                                                     ` James Bottomley
2010-05-17 19:38                                                       ` Felipe Balbi
2010-05-17 19:39                                                         ` Felipe Balbi
2010-05-17 19:49                                                           ` James Bottomley
2010-05-18  6:40                                                             ` Felipe Balbi
2010-05-18 13:59                                                               ` James Bottomley
2010-05-19  6:59                                                                 ` Felipe Balbi
2010-05-19 20:42                                                                   ` Rafael J. Wysocki
2010-05-20  4:49                                                                     ` Felipe Balbi
2010-05-20 11:27                                                                       ` Vladimir Pantelic
2010-05-20 11:29                                                                         ` Felipe Balbi
2010-05-20 17:40                                                                         ` David Brownell
2010-05-20 18:50                                                                           ` Felipe Balbi
2010-05-20 23:08                                                                             ` David Brownell
2010-05-20  5:15                                                                   ` Florian Mickler
2010-05-20  8:57                                                                     ` Felipe Balbi
2010-05-20  8:57                                                                       ` Felipe Balbi
2010-05-20 10:05                                                                       ` Florian Mickler
2010-05-20 10:15                                                                         ` Felipe Balbi
2010-05-17 18:54                                                   ` Kevin Hilman
2010-05-17 17:57                                               ` Daniel Walker
2010-05-15 20:14                                   ` Rafael J. Wysocki
2010-05-16 19:44                                     ` Mark Brown
2010-05-13 22:24                         ` tytso
2010-05-13 20:36                   ` Daniel Walker
2010-05-14 16:06                 ` Kevin Hilman
2010-05-24 21:25                 ` Pavel Machek
2010-05-13 21:41           ` Alan Stern
2010-05-13 21:54             ` Tony Lindgren
2010-05-13 22:07               ` Rafael J. Wysocki
2010-05-13 22:26           ` Arve Hjønnevåg
2010-05-13 21:14       ` Rafael J. Wysocki
2010-05-13 21:31         ` Tony Lindgren
2010-05-13 21:57           ` Rafael J. Wysocki
2010-05-13 21:37       ` Alan Stern
2010-05-13 21:47         ` Tony Lindgren
2010-05-13 22:01           ` Alan Stern
2010-05-13 22:08             ` Tony Lindgren
2010-05-13 22:28               ` Rafael J. Wysocki
2010-05-15  2:35                 ` Alan Stern
2010-05-15  4:04                   ` Arve Hjønnevåg
2010-05-13 22:04           ` Rafael J. Wysocki
2010-05-14  3:25           ` Magnus Damm
2010-05-14 16:18             ` Kevin Hilman
2010-05-15  2:47             ` Alan Stern
2010-05-24 21:24     ` Pavel Machek
     [not found] <CEE6BB42CAD6E947908279175AF8470A025A7D7DC4@EXDCVYMBSTM006.EQ1STM.local>
     [not found] ` <Pine.LNX.4.44L0.1005261156130.1328-100000@iolanthe.rowland.org>
     [not found]   ` <CEE6BB42CAD6E947908279175AF8470A025A8206ED@EXDCVYMBSTM006.EQ1STM.local>
2010-05-27  8:04     ` Florian Mickler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100505203530.GD27927@linux.intel.com \
    --to=mgross@linux.intel.com \
    --cc=arjan@infradead.org \
    --cc=arve@android.com \
    --cc=geoffx.smith@intel.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=magnus.damm@gmail.com \
    --cc=oleg@redhat.com \
    --cc=paul@pwsan.com \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).