linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Arve Hjønnevåg" <arve@android.com>,
	"Linux-pm mailing list" <linux-pm@lists.linux-foundation.org>,
	"Kernel development list" <linux-kernel@vger.kernel.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>, "Tejun Heo" <tj@kernel.org>,
	"Oleg Nesterov" <oleg@redhat.com>,
	"Paul Walmsley" <paul@pwsan.com>,
	magnus.damm@gmail.com, "mark gross" <mgross@linux.intel.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: Mon, 03 May 2010 11:17:52 -0700	[thread overview]
Message-ID: <87vdb4zw6n.fsf@deeprootsystems.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1005031301400.1651-100000@iolanthe.rowland.org> (Alan Stern's message of "Mon\, 3 May 2010 13\:12\:02 -0400 \(EDT\)")

Alan Stern <stern@rowland.harvard.edu> writes:

> On Mon, 3 May 2010, Kevin Hilman wrote:
>
>> 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.
>
> There is a major difference between suspend blockers and runtime PM 
> which was not discussed in your email.  Namely: Runtime PM is aimed at 
> suspending individual devices and not the system as a whole (in 
> particular, not CPUs), whereas suspend blockers are aimed at suspending 
> -- or more accurately, blocking suspends -- of the system as a whole 
> and not individual devices.
>
> So for example, runtime PM cannot be used to put the system into an S3 
> sleep state.  But suspend blockers _are_ used to keep the system from 
> going into S3.

Good point.  However, adding CPUidle to runtime PM you indeed achieve
a dynamic PM that affects the whole system. 

The main difference then comes down to what prevents system-wide
low-power state: activity vs. suspend blocker held.

>> 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.
>
> I wouldn't describe it like that.  Consider dividing PM along a 
> different axis:
>
> - entire system (ACPI sleep states, CPUs turned off, etc.)
> - single, independent devices (e.g., USB autosuspend)
>
> Then system PM combines static + entire, whereas runtime PM combines 
> dynamic + single.  By contrast, suspend blockers are aimed at the 
> dynamic + entire combination.  This makes them different from anything 
> already present in the kernel.

Adding CPUidle to runtime PM (dynamic + single), you add 'entire' as
well, as CPUidle manages the CPU states.

However, one problem I have with your proposed division is it doesn't
seem to match well to the hardware available on modern embedded SoCs,
mainly because these are not ACPI devices.  The CPU is just another
"independent" device whose runtime PM is managed by CPUidle.

IOW, The 'entire system' state is just a function of the CPU state
and the state of all the on- and off-chip devices.  With CPUidle
managing the CPUs, and runtime PM managing the rest of the devices,
you have a fully flexible dynamic PM for the entire system.

>> 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.
>
> The simplest example is that suspend blockers can be used to control 
> whether or not the CPU shuts down, whereas runtime PM can't.

True, by iteslf, runtime PM does not shut down CPUs, but in
combination with CPUidle the CPU(s) can be shut down based on
activity.  In a way, you could think of CPUidle as runtime PM for the
CPU(s).

Again, the primary difference comes down to: why should I not enter a
low-power state?  activity (runtime PM + CPUidle) or suspend blocker.

>> 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.
>
> That is indeed a weak point of the proposal.  Kernel drivers' use of
> suspend blockers appears to be somewhat arbitrary and directed by the
> needs of userspace.  It's not at all clear how drivers can use suspend
> blockers in a way that will work on all systems.

Nor is it clear (to me) what drivers would/should look like that would
need to do suspend blockers in addition to runtime PM.  

Kevin

  reply	other threads:[~2010-05-03 18:17 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 [this message]
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
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=87vdb4zw6n.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=arjan@infradead.org \
    --cc=arve@android.com \
    --cc=geoffx.smith@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=magnus.damm@gmail.com \
    --cc=mgross@linux.intel.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).