All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 0/8] Suspend block api
@ 2009-04-15  1:41 Arve Hjønnevåg
  2009-04-15  1:41 ` [PATCH 1/8] PM: Add suspend " Arve Hjønnevåg
  2009-04-15 23:04 ` [RFC][PATCH 0/8] Suspend " Rafael J. Wysocki
  0 siblings, 2 replies; 195+ messages in thread
From: Arve Hjønnevåg @ 2009-04-15  1:41 UTC (permalink / raw)
  To: linux-pm; +Cc: ncunningham, u.luckas, swetland, r-woodruff2, 

This patch series adds a suspend-block api that provides the same
functionality as the android wakelock api from my last patch series,
Android PM extensions (version 3). As requested, wake_lock has been
renamed to suspend_block(er), and timeout support has been separated
into its own patch.

--
Arve Hjønnevåg

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply	[flat|nested] 195+ messages in thread
* Re: [PATCH 1/8] PM: Add suspend block api
@ 2009-04-16  6:00 Sam Shang
  0 siblings, 0 replies; 195+ messages in thread
From: Sam Shang @ 2009-04-16  6:00 UTC (permalink / raw)
  To: linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 1843 bytes --]


Arve,
 
I can see the usage of suspend blockers from the example you described below. I understand how applications can make use of suspend blockers to save power. Still, my first rule of their usage is don't use them unless necessary, as their misuse might cause increase of power usage.
 
I'm wondering whether you have a recommended rule of suspend blocker usage for both applications and drivers. From application and driver development point of view, I don't want to add suspend blockers everywhere.
 
Sam Shang
 
*******************
Date: Wed, 15 Apr 2009 17:34:43 -0700
From: Arve Hj?nnev?g <arve@android.com>
Subject: Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api.
To: Alan Stern <stern@rowland.harvard.edu>
Cc: ncunningham@crca.org.au, u.luckas@road.de, swetland@google.com,
        Linux-pm mailing list <linux-pm@lists.linux-foundation.org>
Message-ID:
        <d6200be20904151734o738c7a5dx52a800b97ebc2708@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
 
2009/4/15 Alan Stern <stern@rowland.harvard.edu>:
> On Tue, 14 Apr 2009, [utf-8] Arve Hj?nnev?g wrote:
> 
>> +Suspend blockers can be used to allow user-space to decide which keys should
> 
> Then in the last section, say this:
> 
> ? ? ?- The user-space input-event thread returns from read. If it
> ? ? ? ?determines that the key should leave the screen off, it
> ? ? ? ?calls suspend_unblock on the process_input_events
> ? ? ? ?suspend_blocker and then calls select or poll. ?The system
> ? ? ? ?will automatically suspend again, since now no suspend blockers
> ? ? ? ?are active.
> 
 
This sounds reasonable too me.
 
-- 
Arve Hj?nnev?g
_________________________________________________________________
More than messages–check out the rest of the Windows Live™.
http://www.microsoft.com/windows/windowslive/

[-- Attachment #1.2: Type: text/html, Size: 7670 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 195+ messages in thread
* [PATCH 0/9] Suspend block api (version 5)
@ 2010-04-28  4:31 Arve Hjønnevåg
  2010-04-28  4:31 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
  2010-04-28  4:31 ` Arve Hjønnevåg
  0 siblings, 2 replies; 195+ messages in thread
From: Arve Hjønnevåg @ 2010-04-28  4:31 UTC (permalink / raw)
  To: linux-pm, linux-kernel
  Cc: Rafael J. Wysocki, Alan Stern, Tejun Heo, Oleg Nesterov

This patch series adds a suspend-block api that provides the same
functionality as the android wakelock api. The main change from
version 4 posted last week is that suspend blocking work has moved out
of the core workqueue code. The documentation has also been updated.

--
Arve Hjønnevåg <arve@android.com>


^ permalink raw reply	[flat|nested] 195+ messages in thread
* [PATCH 0/8] Suspend block api (version 6)
@ 2010-04-30 22:36 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 ` Arve Hjønnevåg
  0 siblings, 2 replies; 195+ messages in thread
From: Arve Hjønnevåg @ 2010-04-30 22:36 UTC (permalink / raw)
  To: linux-pm, linux-kernel
  Cc: Rafael J. Wysocki, Alan Stern, Tejun Heo, Oleg Nesterov

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.

--
Arve Hjønnevåg <arve@android.com>


^ permalink raw reply	[flat|nested] 195+ messages in thread
* Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api.
  2010-05-04 13:59     ` [linux-pm] " Alan Stern
@ 2010-05-04 16:03 mark gross
  2010-05-04 17:16 ` Alan Stern
  2010-05-04 17:16 ` Alan Stern
  0 siblings, 2 replies; 195+ messages in thread
From: mark gross @ 2010-05-04 16:03 UTC (permalink / raw)
  To: Alan Stern
  Cc: markgross, Len Brown, linux-doc, linux-kernel, Jesse Barnes,
	Oleg Nesterov, Tejun Heo, Magnus Damm, linux-pm, Wu Fengguang,
	Andrew Morton

On Tue, May 04, 2010 at 09:59:59AM -0400, Alan Stern wrote:
> On Mon, 3 May 2010, mark gross wrote:
> 
> > You know things would be so much easier if the policy was a one-shot
> > styled thing.  i.e. when enabled it does what it does, but upon resume
> > the policy must be re-enabled by user mode to get the opportunistic
> > behavior.  That way we don't need to grab the suspend blocker from the
> > wake up irq handler all the way up to user mode as the example below
> > calls out.  I suppose doing this would put a burden on the user mode code
> > to keep track of if it has no pending blockers registered after a wake
> > up from the suspend.  but that seems nicer to me than sprinkling
> > overlapping blocker critical sections from the mettle up to user mode.
> > 
> > Please consider making the policy a one shot API that needs to be
> > re-enabled after resume by user mode.  That would remove my issue with
> > the design.
> 
> This won't work right if a second IRQ arrives while the first is being
> processed.  Suppose the kernel driver for the second IRQ doesn't
> activate a suspend blocker, and suppose all the userspace handlers for
> the first IRQ end (and the opportunistic policy is re-enabled) before
> the userspace handler for the second IRQ can start.  Then the system
> will go back to sleep before userspace can handle the second IRQ.
>

What?  If the suspend blocker API was a one shot styled api, after the
suspend, the one shot is over and the behavior is that you do not fall
back into suspend again until user mode re-enables the one-shot
behavior.  

With what I am proposing the next suspend would not happen until the
user mode code re-enables the suspend blocking behavior.  It would much
cleaner for everyone and I see zero down side WRT the example you just
posted.  

If user mode triggers a suspend by releasing the last blocker, you have
until pm_suspend('mem') turns off interrupts to cancel it.  That race
will never go away. 

Let me think this through, please check that I'm understanding the issue
please:
1) one-shot policy enable blocker PM suspend behavior;
2) release last blocker and call pm_suspend('mem') and suspend all the
way down.
3) get wake up event, one-shot policy over, no-blockers in list
4) go all the way to user mode, 
5) user mode decides to not grab a blocker, and re-enables one-shot
policy
6) pm_suspend('mem') called
7) interrupt comes in (say the modem rings)
8) modem driver handler needs to returns fail from pm_suspend call back,
device resumes (I am proposing changing the posted api for doing this.)
9) user mode figures out one-shot needs to be re-enabled and it grabs a
blocker to handle the call and re-enables the one-shot.

So the real problem grabbing blockers from ISR's trying to solve is to
reduce the window of time where a pm_suspend('mem') can be canceled.

My proposal is to;
1) change the kernel blocker api to be
"cancel-one-shot-policy-enable" that can be called from the ISR's for
the wake up devices before the IRQ's are disabled to cancel an in-flight
suspend.  I would make it 2 macros one goes in the pm_suspend callback
to return fail, and the other in the ISR to disable the one-shot-policy.
 
2) make the policy a one shot that user mode must re-enable after each
suspend attempted.

Would it help if I coded up the above proposal as patch to the current
(rev-6) of the blocker patchset?  I'm offering.

Because this part of the current design is broken, in that it demands
the sprinkling of blocker critical sections from the hardware up to the
user mode.  Its ugly, hard to get right and if more folks would take a
look at how well it worked out for the existing kernels on
android.git.kernel.org/kernels/ perhaps it would get more attention.

Finally, as an aside, lets look at the problem with the posted rev-6
patches:
1) enable suspend blocker policy
2) release user-mode blocker
3) start suspend
4) get a modem interrupt (incoming call)
5) ooops, IRQ came in after pm_suspend('mem') turned off interrupts.
bummer for you, thats life with this design.  Better hope your modem
hardware is modified to keep pulling on that wake up line because you're
past the point of no return now and going to suspend.

Grabbing a blocker in the ISR doesn't solve this.  So your hardware
needs to have a persistent wake up trigger that is robust against this
scenario.  And, if you have such hardware then why are we killing
ourselves to maximize the window of time between pm_suspend('mem') and
platform suspend where you can cancel the suspend?  The hardware will
simply wake up anyway.

(further, on my hardware I would modify the platform suspend call back
to make one last check to see if an IRQ came in, and cancel the suspend
there as a last chance.)

 
--mgross


^ permalink raw reply	[flat|nested] 195+ messages in thread
* Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api.
  2010-05-05 15:44     ` [linux-pm] " Alan Stern
@ 2010-05-05 20:28 mark gross
  2010-05-05 21:12 ` Alan Stern
  2010-05-05 21:12 ` Alan Stern
  0 siblings, 2 replies; 195+ messages in thread
From: mark gross @ 2010-05-05 20:28 UTC (permalink / raw)
  To: Alan Stern
  Cc: markgross, Len Brown, linux-doc, Kernel development list,
	Jesse Barnes, Oleg Nesterov, Tejun Heo, Linux-pm mailing list,
	Wu Fengguang, Andrew Morton

On Wed, May 05, 2010 at 11:44:39AM -0400, Alan Stern wrote:
> On Tue, 4 May 2010, mark gross wrote:
> 
> > Thanks, I think I'm starting to get it.  From this it seems that the
> > system integrator needs to identify those wake up sources that need to
> > be able to block a suspend, and figure out a way of acknowledging from
> > user mode, that its now ok to allow a suspend to happen.
> 
> The second part is easy.  Userspace doesn't need to do anything special 
> to acknowledge that a suspend is now okay; it just has to remove the 
> conditions that led the driver to block suspends in the first place.
> 
> For example, if suspends are blocked because some input event has been
> queued, emptying the input event queue should unblock suspends.
> 
> > The rev-6 proposed way is for the integrator to implement overlapping
> > blocker sections from ISR up to user mode for selected wake up devices
> > (i.e. the modem)
> > 
> > There *has* to be a better way.
> 
> Why?  What's wrong with overlapping blockers?  It's a very common
> idiom.  For example, the same sort of thing is used when locking
> subtrees of a tree: You lock the root node, and then use overlapping
> locks on the nodes leading down to the subtree you're interested in.

Because in the kenel there is only a partial ordering of calling
sequences from IRQ to usermode.  I see a lot of custom out of tree code
being developed to deal with getting the overlapping blocker sections
right, per device.

 
> > Can't we have some notification based thing that supports user mode
> > acks through a misc device or sysfs thing?   Anything to avoid the
> > overlapping blocker sections. 
> 
> Userspace acks aren't the issue; the issue is how (and when) kernel 
> drivers should initiate a blocker.  Switching to notifications, misc 
> devices, or sysfs won't help solve this issue.

communicating non-local knowledge back down to the blocking object to
tell it that it can unblock is the issue
 
> > True, you need an ack back from user mode for when its ok to allow
> > suspend to happen.  This ack is device specific and needs to be custom
> > built per product to its wake up sources.
> 
> No and no.  Nothing special is needed.  All userspace needs to do is 
> remove the condition that led to the blocker being enabled initially -- 
> which is exactly what userspace would do normally anyway.

Oh, like tell the modem that user mode has handled the ring event and
its ok to un-block?

--mgross

^ permalink raw reply	[flat|nested] 195+ messages in thread
* [PATCH 0/8] Suspend block api (version 7)
@ 2010-05-14  4:11 Arve Hjønnevåg
  2010-05-14  4:11   ` Arve Hjønnevåg
  0 siblings, 1 reply; 195+ messages in thread
From: Arve Hjønnevåg @ 2010-05-14  4:11 UTC (permalink / raw)
  To: linux-pm, linux-kernel; +Cc: Rafael J. Wysocki

This patch series adds a suspend-block api that provides the same
functionality as the android wakelock api. This version has some
changes from, or requested by, Rafael. The most notable changes are:
- DEFINE_SUSPEND_BLOCKER and suspend_blocker_register have been added
  for statically allocated suspend blockers. 
- suspend_blocker_destroy is now called suspend_blocker_unregister
- The user space mandatory _INIT ioctl has been replaced with an
  optional _SET_NAME ioctl.

I kept the ack and reviewed by tags on two of the patches even though
there were a few cosmetic changes.

--
Arve Hjønnevåg <arve@android.com>


^ permalink raw reply	[flat|nested] 195+ messages in thread

end of thread, other threads:[~2010-05-28 13:42 UTC | newest]

Thread overview: 195+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-15  1:41 [RFC][PATCH 0/8] Suspend block api Arve Hjønnevåg
2009-04-15  1:41 ` [PATCH 1/8] PM: Add suspend " Arve Hjønnevåg
2009-04-15  1:41   ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2009-04-15  1:41     ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Arve Hjønnevåg
2009-04-15  1:41       ` [PATCH 4/8] Input: Block suspend while event queue is not empty Arve Hjønnevåg
2009-04-15  1:41         ` [PATCH 5/8] PM: suspend_block: Switch to list of active and inactive suspend blockers Arve Hjønnevåg
2009-04-15  1:41           ` [PATCH 6/8] PM: suspend_block: Add suspend_blocker stats Arve Hjønnevåg
2009-04-15  1:41             ` [PATCH 7/8] PM: suspend_block: Add timeout support Arve Hjønnevåg
2009-04-15  1:41               ` [PATCH 8/8] PM: suspend_block: Add timeout support to user-space suspend_blockers Arve Hjønnevåg
2009-04-29 22:56       ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Rafael J. Wysocki
2009-04-29 22:52     ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Rafael J. Wysocki
2009-04-15 15:29   ` [PATCH 1/8] PM: Add suspend block api Alan Stern
2009-04-15 19:08     ` mark gross
2009-04-16  0:40       ` Arve Hjønnevåg
2009-04-16  0:34     ` Arve Hjønnevåg
2009-04-15 22:31   ` mark gross
2009-04-16  1:45     ` Arve Hjønnevåg
2009-04-16 17:49       ` mark gross
2009-04-20  9:29   ` Pavel Machek
2009-04-21  4:44     ` Arve Hjønnevåg
2009-04-24 20:59       ` Pavel Machek
2009-04-29 21:24         ` Rafael J. Wysocki
2009-04-29 22:52           ` Arve Hjønnevåg
2009-04-29 22:34   ` Rafael J. Wysocki
2009-04-29 23:45     ` Arve Hjønnevåg
2009-04-30  0:49     ` Arve Hjønnevåg
2009-04-26  9:42       ` Pavel Machek
2009-05-02 12:17         ` Rafael J. Wysocki
2009-05-02 12:14       ` Rafael J. Wysocki
2009-05-02 20:51         ` Pavel Machek
2009-05-05  3:48         ` Arve Hjønnevåg
2009-04-15 23:04 ` [RFC][PATCH 0/8] Suspend " Rafael J. Wysocki
2009-04-16  6:00 [PATCH 1/8] PM: Add suspend " Sam Shang
2010-04-28  4:31 [PATCH 0/9] Suspend block api (version 5) Arve Hjønnevåg
2010-04-28  4:31 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-04-28  4:31 ` Arve Hjønnevåg
2010-04-28  6:07   ` Pavel Machek
2010-04-28  6:07     ` Pavel Machek
2010-04-28 19:13   ` Alan Stern
2010-04-28 21:13     ` Rafael J. Wysocki
2010-04-28 21:13     ` Rafael J. Wysocki
2010-04-28 23:35       ` Arve Hjønnevåg
2010-04-28 23:35       ` Arve Hjønnevåg
2010-04-29 15:41         ` Alan Stern
2010-04-29 15:41           ` Alan Stern
2010-04-29 23:39           ` Arve Hjønnevåg
2010-04-29 23:39             ` Arve Hjønnevåg
2010-04-30 14:41             ` Alan Stern
2010-04-30 14:41               ` Alan Stern
2010-04-28 19:13   ` Alan Stern
2010-04-28 20:50   ` Rafael J. Wysocki
2010-04-28 20:50   ` Rafael J. Wysocki
2010-04-29  3:37     ` Arve Hjønnevåg
2010-04-29 21:16       ` Rafael J. Wysocki
2010-04-29 21:16         ` Rafael J. Wysocki
2010-04-30  4:24         ` Tejun Heo
2010-04-30  4:24           ` Tejun Heo
2010-04-30 17:26           ` Oleg Nesterov
2010-04-30 17:26           ` Oleg Nesterov
2010-05-20  8:30             ` Tejun Heo
2010-05-20 22:27               ` Rafael J. Wysocki
2010-05-21  6:35                 ` Tejun Heo
2010-05-21  6:35                   ` Tejun Heo
2010-05-20 22:27               ` Rafael J. Wysocki
2010-05-20  8:30             ` Tejun Heo
2010-04-29  3:37     ` Arve Hjønnevåg
2010-05-06 15:18   ` Alan Stern
2010-05-06 15:18   ` Alan Stern
2010-05-06 19:28     ` Rafael J. Wysocki
2010-05-06 19:28     ` Rafael J. Wysocki
2010-05-06 19:40       ` Alan Stern
2010-05-06 19:40       ` Alan Stern
2010-05-06 23:48         ` Arve Hjønnevåg
2010-05-06 23:48         ` Arve Hjønnevåg
2010-05-07 14:22           ` Alan Stern
2010-05-07 14:22           ` Alan Stern
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 ` Arve Hjønnevåg
2010-05-02  6:56   ` Pavel Machek
2010-05-02  6:56   ` 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-02 21:29         ` Rafael J. Wysocki
2010-05-03 19:01           ` Pavel Machek
2010-05-03 21:38             ` Rafael J. Wysocki
2010-05-03 21:38             ` Rafael J. Wysocki
2010-05-03 22:11               ` Alan Stern
2010-05-03 22:11               ` Alan Stern
2010-05-03 22:24                 ` Arve Hjønnevåg
2010-05-03 22:24                 ` Arve Hjønnevåg
2010-05-03 19:01           ` Pavel Machek
2010-05-02 20:52       ` Pavel Machek
2010-05-02 20:10     ` Rafael J. Wysocki
2010-05-02  7:01   ` Pavel Machek
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 13:59     ` [linux-pm] " Alan Stern
2010-05-04 16:03       ` mark gross
2010-05-04 20:40     ` Arve Hjønnevåg
2010-05-04  5:12   ` mark gross
2010-05-13 19:01   ` Paul Walmsley
2010-05-14 20:05     ` Paul Walmsley
2010-05-04 16:03 [linux-pm] " 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 20:09       ` mark gross
2010-05-05 13:31     ` Matthew Garrett
2010-05-05 15:44     ` Alan Stern
2010-05-05 15:44     ` [linux-pm] " Alan Stern
2010-05-05 20:28       ` mark gross
2010-05-05  1:50   ` mark gross
2010-05-04 17:16 ` Alan Stern
2010-05-05 20:28 [linux-pm] " 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:47     ` [linux-pm] " 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  6:43                 ` [linux-pm] " Pavel Machek
2010-05-28  7:01                   ` Arve Hjønnevåg
2010-05-07  0:10               ` Arve Hjønnevåg
2010-05-06 17:04             ` Tony Lindgren
2010-05-06  4:16           ` Arve Hjønnevåg
2010-05-06  0:05         ` Tony Lindgren
2010-05-05 23:56       ` Brian Swetland
2010-05-06 13:40       ` Matthew Garrett
2010-05-06 13:40       ` [linux-pm] " Matthew Garrett
2010-05-06 17:01         ` Tony Lindgren
2010-05-06 17:01         ` [linux-pm] " Tony Lindgren
2010-05-06 17:09           ` Matthew Garrett
2010-05-06 17:09           ` [linux-pm] " 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:38                 ` [linux-pm] " Tony Lindgren
2010-05-06 17:43                   ` Matthew Garrett
2010-05-06 18:33                     ` Tony Lindgren
2010-05-06 18:33                     ` [linux-pm] " Tony Lindgren
2010-05-06 18:44                       ` Matthew Garrett
2010-05-07  2:05                         ` Tony Lindgren
2010-05-07  2:05                         ` [linux-pm] " Tony Lindgren
2010-05-07 17:12                           ` Matthew Garrett
2010-05-07 17:35                             ` Tony Lindgren
2010-05-07 17:35                             ` [linux-pm] " Tony Lindgren
2010-05-07 17:50                               ` Matthew Garrett
2010-05-07 18:01                                 ` Tony Lindgren
2010-05-07 18:01                                 ` [linux-pm] " 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 18:46                                       ` [linux-pm] " Matthew Garrett
2010-05-07 19:06                                         ` Daniel Walker
2010-05-07 19:06                                         ` [linux-pm] " Daniel Walker
2010-05-07 19:28                                           ` Tony Lindgren
2010-05-07 19:33                                             ` Matthew Garrett
2010-05-07 19:33                                             ` [linux-pm] " Matthew Garrett
2010-05-07 19:55                                               ` Tony Lindgren
2010-05-07 20:28                                                 ` Matthew Garrett
2010-05-07 20:28                                                 ` [linux-pm] " Matthew Garrett
2010-05-07 20:53                                                   ` Tony Lindgren
2010-05-07 20:53                                                   ` [linux-pm] " Tony Lindgren
2010-05-07 21:03                                                     ` Matthew Garrett
2010-05-07 21:25                                                       ` Tony Lindgren
2010-05-07 21:25                                                       ` [linux-pm] " Tony Lindgren
2010-05-07 21:32                                                         ` Arve Hjønnevåg
2010-05-07 21:39                                                         ` Matthew Garrett
2010-05-07 21:39                                                         ` [linux-pm] " Matthew Garrett
2010-05-07 21:42                                                           ` Tony Lindgren
2010-05-07 21:42                                                           ` [linux-pm] " Tony Lindgren
2010-05-07 21:48                                                             ` Matthew Garrett
2010-05-07 22:00                                                               ` Tony Lindgren
2010-05-07 22:00                                                               ` [linux-pm] " Tony Lindgren
2010-05-07 22:28                                                                 ` Matthew Garrett
2010-05-07 21:48                                                             ` Matthew Garrett
2010-05-07 21:30                                                       ` Daniel Walker
2010-05-07 21:30                                                       ` [linux-pm] " Daniel Walker
2010-05-07 21:35                                                         ` Arve Hjønnevåg
2010-05-07 21:43                                                           ` Daniel Walker
2010-05-07 21:35                                                         ` Arve Hjønnevåg
2010-05-07 21:38                                                         ` Matthew Garrett
2010-05-07 21:03                                                     ` Matthew Garrett
2010-05-07 19:55                                               ` Tony Lindgren
2010-05-07 19:28                                           ` Tony Lindgren
2010-05-07 18:28                                   ` Matthew Garrett
2010-05-07 17:50                               ` Matthew Garrett
2010-05-07 17:12                           ` Matthew Garrett
2010-05-06 18:44                       ` Matthew Garrett
2010-05-06 18:47                       ` Alan Stern
2010-05-06 18:47                       ` [linux-pm] " Alan Stern
2010-05-07  2:20                         ` Tony Lindgren
2010-05-06 17:43                   ` Matthew Garrett
2010-05-28 13:29                   ` [linux-pm] " Pavel Machek
2010-05-28 13:42                     ` Brian Swetland
2010-05-28 13:29                   ` Pavel Machek
2010-05-06 17:22               ` Matthew Garrett
2010-05-06 17:35               ` [linux-pm] " 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  2:00                     ` [linux-pm] " Tony Lindgren
2010-05-07 17:20                       ` Daniel Walker
2010-05-07 17:36                         ` Matthew Garrett
2010-05-07 17:36                         ` [linux-pm] " Matthew Garrett
2010-05-07 17:40                           ` Daniel Walker
2010-05-07 17:51                             ` Matthew Garrett
2010-05-07 17:51                             ` [linux-pm] " Matthew Garrett
2010-05-07 18:00                               ` Daniel Walker
2010-05-07 18:17                                 ` Tony Lindgren
2010-05-07 18:00                               ` Daniel Walker
2010-05-07 17:40                           ` Daniel Walker
2010-05-07 17:50                         ` Tony Lindgren
2010-05-07 17:20                       ` Daniel Walker
2010-05-06 19:11                   ` Daniel Walker
2010-05-06 18:36                 ` Tony Lindgren
2010-05-06 17:35               ` Daniel Walker
2010-05-07  3:45               ` mgross
2010-05-06 17:14             ` Tony Lindgren
2010-05-07  3:45             ` [linux-pm] " mgross
2010-05-07  4:10               ` Arve Hjønnevåg
2010-05-07  3:45             ` mgross
2010-05-05 21:37   ` Brian Swetland
2010-05-05 21:12 ` Alan Stern
2010-05-14  4:11 [PATCH 0/8] Suspend block api (version 7) Arve Hjønnevåg
2010-05-14  4:11 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-05-14  4:11   ` Arve Hjønnevåg
2010-05-14  6:13   ` Paul Walmsley
2010-05-14  6:27   ` Paul Walmsley
2010-05-14  7:14     ` Arve Hjønnevåg
2010-05-18  2:17       ` Paul Walmsley
2010-05-18  3:06         ` Arve Hjønnevåg
2010-05-18  3:34           ` Paul Walmsley
2010-05-18  3:51             ` Arve Hjønnevåg
2010-05-19 15:55               ` Paul Walmsley
2010-05-20  0:35                 ` Arve Hjønnevåg
2010-05-18 13:11   ` Pavel Machek
2010-05-18 13:11   ` Pavel Machek
2010-05-20  9:11     ` Florian Mickler
2010-05-20  9:26       ` Florian Mickler
2010-05-20  9:26       ` Florian Mickler
2010-05-20 22:18         ` Rafael J. Wysocki
2010-05-20 22:18         ` Rafael J. Wysocki
2010-05-21  6:04           ` Florian Mickler
2010-05-21  6:04           ` Florian Mickler
2010-05-27 15:41           ` Pavel Machek
2010-05-27 15:41           ` Pavel Machek
2010-05-20  9:11     ` Florian Mickler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.