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; 93+ 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, @sisk.pl

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] 93+ 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
  0 siblings, 1 reply; 93+ 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] 93+ 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
  0 siblings, 1 reply; 93+ 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] 93+ 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 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
  0 siblings, 1 reply; 93+ 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] 93+ messages in thread
* [PATCH 0/8] Suspend block api (version 8)
@ 2010-05-21 22:46 Arve Hjønnevåg
  2010-05-21 22:46 ` [PATCH 1/8] PM: Opportunistic suspend support Arve Hjønnevåg
  0 siblings, 1 reply; 93+ messages in thread
From: Arve Hjønnevåg @ 2010-05-21 22:46 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 adds a
delay before suspending again if no suspend blockers were used
during the last suspend attempt.

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



^ permalink raw reply	[flat|nested] 93+ messages in thread
* Re: [linux-pm] [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space
  2010-05-26 21:57       ` Rafael J. Wysocki
@ 2010-05-26 22:18 Alan Stern
  2010-05-26 22:34 ` Rafael J. Wysocki
  2 siblings, 1 reply; 93+ messages in thread
From: Alan Stern @ 2010-05-26 22:18 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Peter Zijlstra, Cornelia Huck, Len Brown, Jim Collar, linux-doc,
	Greg Kroah-Hartman, linux-kernel, Avi Kivity, Ryusuke Konishi,
	Magnus Damm, linux-pm, Andrew Morton

On Wed, 26 May 2010, Rafael J. Wysocki wrote:

> On Wednesday 26 May 2010, Peter Zijlstra wrote:
> > On Fri, 2010-05-21 at 15:46 -0700, Arve Hjønnevåg wrote:
> > > +To create a suspend blocker from user space, open the suspend_blocker
> > > special
> > > +device file:
> > > +
> > > +    fd = open("/dev/suspend_blocker", O_RDWR | O_CLOEXEC);
> > > +
> > > +then optionally call:
> > > +
> > > +    ioctl(fd, SUSPEND_BLOCKER_IOCTL_SET_NAME(strlen(name)), name);
> > > +
> > > +To activate the suspend blocker call:
> > > +
> > > +    ioctl(fd, SUSPEND_BLOCKER_IOCTL_BLOCK);
> > > +
> > > +To deactivate it call:
> > > +
> > > +    ioctl(fd, SUSPEND_BLOCKER_IOCTL_UNBLOCK);
> > > +
> > > +To destroy the suspend blocker, close the device:
> > > +
> > > +    close(fd);
> > 
> > Urgh, please let the open() be BLOCK, the close() be UNBLOCK, and keep
> > the SET_NAME thing if you really care.
> 
> SET_NAME wouldn't serve any purpose in that case.
> 
> This whole thing is related to the statistics part, which Arve says is
> essential to him.  He wants to collect statistics for each suspend blocker
> activated and deactivated so that he can tell who's causing problems by
> blocking suspend too often.  The name also is a part of this.
> 
> In fact, without the statistics part the whole thing might be implemented
> as a single reference counter such that suspend would happen when it went down
> to zero.

There's also Arve's other main point: These suspend blockers tend to
get used quite a lot.  Opening and closing a file each time has much
higher overhead than a simple ioctl.

All these topics have been covered earlier in this discussion.  Peter 
should go back and read the emails in the linux-pm archive.

Alan Stern


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

end of thread, other threads:[~2010-05-26 23:46 UTC | newest]

Thread overview: 93+ 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
  -- strict thread matches above, loose matches on Subject: below --
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   ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-04-28  4:31     ` Arve Hjønnevåg
2010-04-28 20:58     ` Rafael J. Wysocki
2010-04-28 22:31       ` Arve Hjønnevåg
2010-04-28 22:31       ` Arve Hjønnevåg
2010-04-28 23:05         ` Rafael J. Wysocki
2010-04-28 23:38           ` Arve Hjønnevåg
2010-04-29 21:11             ` Rafael J. Wysocki
2010-04-29 21:11               ` Rafael J. Wysocki
2010-04-29 23:41               ` Arve Hjønnevåg
2010-04-29 23:41                 ` Arve Hjønnevåg
2010-04-28 23:38           ` Arve Hjønnevåg
2010-04-28 23:05         ` Rafael J. Wysocki
2010-04-28 20:58     ` Rafael J. Wysocki
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     ` Arve Hjønnevåg
2010-05-02  7:04     ` Pavel Machek
2010-05-02  7:04     ` Pavel Machek
2010-05-02 21:23     ` Rafael J. Wysocki
2010-05-02 21:23       ` Rafael J. Wysocki
2010-05-02 21:56       ` Alan Stern
2010-05-02 21:56       ` Alan Stern
2010-05-03 15:03         ` Rafael J. Wysocki
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 20:02                 ` Rafael J. Wysocki
2010-05-03 22:01               ` Arve Hjønnevåg
2010-05-03 21:49             ` Rafael J. Wysocki
2010-05-03 21:26           ` Arve Hjønnevåg
2010-05-04  4:16           ` Pavel Machek
2010-05-04  4:16           ` Pavel Machek
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   ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-05-14  4:11     ` Arve Hjønnevåg
2010-05-21 22:46 [PATCH 0/8] Suspend block api (version 8) Arve Hjønnevåg
2010-05-21 22:46 ` [PATCH 1/8] PM: Opportunistic suspend support Arve Hjønnevåg
2010-05-21 22:46   ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-05-21 22:46   ` Arve Hjønnevåg
2010-05-26  8:43     ` Peter Zijlstra
2010-05-26 10:47       ` Arve Hjønnevåg
2010-05-26 10:50         ` Peter Zijlstra
2010-05-26 23:13           ` Arve Hjønnevåg
2010-05-26 23:13           ` Arve Hjønnevåg
2010-05-26 10:50         ` Peter Zijlstra
2010-05-26 10:51         ` Florian Mickler
2010-05-26 11:06           ` Peter Zijlstra
2010-05-26 11:06           ` Peter Zijlstra
2010-05-26 10:51         ` Florian Mickler
2010-05-26 10:47       ` Arve Hjønnevåg
2010-05-26 21:57       ` Rafael J. Wysocki
2010-05-26 22:14         ` Alan Cox
2010-05-26 22:18           ` Brian Swetland
2010-05-26 23:00             ` Alan Cox
2010-05-26 23:00               ` Arve Hjønnevåg
2010-05-26 23:52                 ` Alan Cox
2010-05-26 22:45           ` Rafael J. Wysocki
2010-05-26 22:18         ` Alan Stern
2010-05-26 22:18         ` Alan Stern
2010-05-26 21:57       ` Rafael J. Wysocki
2010-05-26  8:43     ` Peter Zijlstra
2010-05-26 22:18 [linux-pm] " Alan Stern
2010-05-26 22:34 ` Rafael J. Wysocki

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.