From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: "Arve Hjønnevåg" <arve@android.com>
Cc: Brian Swetland <swetland@google.com>,
linux-pm@lists.linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/8] Suspend block api (version 7)
Date: Wed, 19 May 2010 00:56:36 +0200 [thread overview]
Message-ID: <201005190056.36804.rjw@sisk.pl> (raw)
In-Reply-To: <AANLkTikm69OKbRUvqiqGh4KRMn7u166tyt4kx0-bjR3Z@mail.gmail.com>
On Wednesday 19 May 2010, Arve Hjønnevåg wrote:
> 2010/5/18 Rafael J. Wysocki <rjw@sisk.pl>:
> > On Tuesday 18 May 2010, Arve Hjønnevåg wrote:
> >> 2010/5/18 Rafael J. Wysocki <rjw@sisk.pl>:
> >> > On Tuesday 18 May 2010, Arve Hjønnevåg wrote:
> >> >> On Mon, May 17, 2010 at 2:44 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> >> > On Monday 17 May 2010, Brian Swetland wrote:
> >> >> >> On Mon, May 17, 2010 at 1:40 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> >> >> > On Monday 17 May 2010, Arve Hjønnevåg wrote:
> >> >> >> >>
> > ...
> >>
> >> > Now, to make it more "user-friendly", we can simply use
> >> > queue_delayed_work() with a reasonable delay instead of queue_work() to queue
> >> > the suspend work (the delay may be configurable via sysfs).
> >> >
> >>
> >> I can add a delay (and the timeout support code does add a delay as an
> >> optimization) to the unknown wakeup case, but this does not fix the
> >> problem of a user turning on opportunistic suspend with a user space
> >> framework that does not use suspend blockers. If the kernel uses
> >> suspend blockers to make sure the wakeup event makes it to user space,
> >> but user space does not block suspend, then the system will suspend
> >> before the event is processed.
> >
> > But the user can still manually write to /sys/power/state. :-)
> >
>
> Does adding or removing a delay change this? It seems in only changes
> how quickly the user can finish that write.
Yes, but that should allow the user to avoid rebooting the system if he does
the "wrong thing".
> I'm not convinced adding a configurable delay here is necessary.
No, it's not, but it would be useful in some cases IMO. Pretty much the same
way your debug features are useful.
> Once the driver that enabled the wakeup event has been updated to block
> suspend until this event gets to user space, then this delay will
> never be triggered. The kernel cannot tell the difference between a
> user enabling opportunistic suspend but not wanting it and
> opportunistic suspend aware user space code deciding that this wakeup
> event should be ignored.
The point is, if there's a delay, it may be too aggressive for some users and
too conservative for some other users, so it makes sense to provide a means
to adjust it to the user's needs.
Rafael
next prev parent reply other threads:[~2010-05-18 22:55 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
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 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-14 4:11 ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Arve Hjønnevåg
2010-05-14 4:11 ` Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 4/8] PM: suspend_block: Add debugfs file Arve Hjønnevåg
2010-05-14 4:11 ` Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 5/8] PM: suspend_block: Add suspend_blocker stats Arve Hjønnevåg
2010-05-14 4:11 ` Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 6/8] PM: Add suspend blocking work Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 7/8] Input: Block suspend while event queue is not empty Arve Hjønnevåg
2010-05-14 4:11 ` Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 8/8] power_supply: Block suspend while power supply change notifications are pending Arve Hjønnevåg
2010-05-14 4:11 ` Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 6/8] PM: Add suspend blocking work Arve Hjønnevåg
2010-05-14 6:13 ` [PATCH 1/8] PM: Add suspend block api 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-20 9:11 ` Florian Mickler
2010-05-20 9:26 ` Florian Mickler
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 22:18 ` Rafael J. Wysocki
2010-05-20 9:26 ` Florian Mickler
2010-05-20 9:11 ` Florian Mickler
2010-05-18 13:11 ` Pavel Machek
2010-05-14 21:08 ` [PATCH 0/8] Suspend block api (version 7) Rafael J. Wysocki
2010-05-14 21:08 ` Rafael J. Wysocki
2010-05-17 4:50 ` Arve Hjønnevåg
2010-05-17 19:01 ` Mike Snitzer
2010-05-17 19:01 ` Mike Snitzer
2010-05-17 21:42 ` Rafael J. Wysocki
2010-05-17 21:42 ` Rafael J. Wysocki
2010-05-17 22:16 ` Kevin Hilman
2010-05-17 22:16 ` Kevin Hilman
2010-05-18 0:52 ` Arve Hjønnevåg
2010-05-18 0:52 ` Arve Hjønnevåg
2010-05-18 16:18 ` Kevin Hilman
2010-05-18 18:52 ` Rafael J. Wysocki
2010-05-18 22:04 ` Kevin Hilman
2010-05-18 22:29 ` Rafael J. Wysocki
2010-05-18 22:29 ` Rafael J. Wysocki
2010-05-18 22:04 ` Kevin Hilman
2010-05-18 18:52 ` Rafael J. Wysocki
2010-05-19 0:00 ` Arve Hjønnevåg
2010-05-19 0:00 ` Arve Hjønnevåg
2010-05-18 16:18 ` Kevin Hilman
2010-05-18 16:18 ` Kevin Hilman
2010-05-18 19:13 ` Rafael J. Wysocki
2010-05-18 19:13 ` Rafael J. Wysocki
2010-05-18 20:47 ` Arve Hjønnevåg
2010-05-18 21:48 ` Rafael J. Wysocki
2010-05-18 22:03 ` Arve Hjønnevåg
2010-05-18 22:34 ` Rafael J. Wysocki
2010-05-18 22:34 ` Rafael J. Wysocki
2010-05-18 22:52 ` Arve Hjønnevåg
2010-05-18 23:19 ` Rafael J. Wysocki
2010-05-18 23:42 ` Arve Hjønnevåg
2010-05-19 20:39 ` Rafael J. Wysocki
2010-05-19 20:39 ` Rafael J. Wysocki
2010-05-19 21:34 ` Arve Hjønnevåg
2010-05-20 22:21 ` Rafael J. Wysocki
2010-05-20 22:21 ` Rafael J. Wysocki
2010-05-19 21:34 ` Arve Hjønnevåg
2010-05-18 23:42 ` Arve Hjønnevåg
2010-05-18 23:19 ` Rafael J. Wysocki
2010-05-18 22:52 ` Arve Hjønnevåg
2010-05-18 22:03 ` Arve Hjønnevåg
2010-05-18 21:48 ` Rafael J. Wysocki
2010-05-18 20:47 ` Arve Hjønnevåg
2010-05-17 4:50 ` Arve Hjønnevåg
2010-05-16 19:42 ` Rafael J. Wysocki
2010-05-16 19:42 ` Rafael J. Wysocki
2010-05-17 4:16 ` Arve Hjønnevåg
2010-05-17 4:16 ` Arve Hjønnevåg
2010-05-17 20:40 ` Rafael J. Wysocki
2010-05-17 20:40 ` Rafael J. Wysocki
2010-05-17 20:51 ` Brian Swetland
2010-05-17 21:44 ` Rafael J. Wysocki
2010-05-17 21:44 ` Rafael J. Wysocki
2010-05-17 23:32 ` Arve Hjønnevåg
2010-05-18 19:38 ` Rafael J. Wysocki
2010-05-18 19:38 ` Rafael J. Wysocki
2010-05-18 20:35 ` Arve Hjønnevåg
2010-05-18 20:35 ` Arve Hjønnevåg
2010-05-18 21:14 ` Rafael J. Wysocki
2010-05-18 22:21 ` Arve Hjønnevåg
2010-05-18 22:21 ` Arve Hjønnevåg
2010-05-18 22:56 ` Rafael J. Wysocki
2010-05-18 22:56 ` Rafael J. Wysocki [this message]
2010-05-18 23:06 ` Arve Hjønnevåg
2010-05-19 20:40 ` Rafael J. Wysocki
2010-05-19 20:40 ` Rafael J. Wysocki
2010-05-18 23:06 ` Arve Hjønnevåg
2010-05-18 21:14 ` Rafael J. Wysocki
2010-05-17 23:32 ` Arve Hjønnevåg
2010-05-17 20:51 ` Brian Swetland
-- strict thread matches above, loose matches on Subject: below --
2010-05-14 4:11 Arve Hjønnevåg
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=201005190056.36804.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=arve@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=swetland@google.com \
/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 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.