From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Kyle Moffett <kyle@moffetthome.net>
Cc: Uli Luckas <u.luckas@road.de>,
LKML <linux-kernel@vger.kernel.org>,
Nigel Cunningham <nigel@nigel.suspend2.net>,
Brian Swetland <swetland@google.com>,
pm list <linux-pm@lists.linux-foundation.org>,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [RFD] Automatic suspend
Date: Fri, 20 Feb 2009 22:02:46 +0100 [thread overview]
Message-ID: <200902202202.47718.rjw@sisk.pl> (raw)
In-Reply-To: <200902202156.13480.rjw@sisk.pl>
On Friday 20 February 2009, Rafael J. Wysocki wrote:
> On Friday 20 February 2009, Kyle Moffett wrote:
> > On Fri, Feb 20, 2009 at 10:56 AM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > > * Introduce /sys/power/sleep that will work like /sys/power/state, but:
> > > - First, it will call ->acknowledge() for each driver (via bus types) to
> > > check if any of them wants to postpone the suspend (this will prevent tasks
> > > from being frozen unnecessarily if it is known in advance that the suspend
> > > should not happen at the moment).
> > > - Next, it will check the "I_do_not_want_automatic_suspend_to_occur" flag
> > > of each process and the suspend will be aborted if it is true for any of
> > > them (quite frankly, I think that should be integrated with the freezer,
> > > in particular the tasks that have TIF_FREEZE set shouldn't be able to set
> > > this flag and it should be checked in the freezer loop for every task with
> > > TIF_FREEZE unset).
> > > - Next, it will proceed with suspending just like /sys/power/state does (the
> > > drivers that missed the opportunity to abort the suspend by returning
> > > 'false' from ->acknowledge() can still abort the suspend by failing their
> > > ->suspend() routines).
> > >
> > > Then, the decision making logic will be able to use /sys/power/sleep whenever
> > > it wishes to and the kernel will be able to refuse to suspend if it's not
> > > desirable at the moment.
> >
> > Then, for a userspace process handling input events:
> >
> > 1) Unset "no-suspend flag"
> > 2) Poll event device
> > 3) When the poll returns true, set the "no-suspend flag"
> > 4) Read the event device and process the event(s)
> > 5) Go back to step 1
> >
> > The event driver would responsible for atomically preventing suspend
> > from the moment a button is pressed until it is actually delivered to
> > a userspace process. Since at that time the userspace process will be
> > preventing suspend, there will be no window in which we could go to
> > sleep with pending events.
>
> That's correct.
>
> How would you like to prevent it from happening?
To clarify, we're talking about automatic suspend only. The "old" suspend
interface is going to stay so that one can force suspend (or hibernation) to
happen.
Thanks,
Rafael
next prev parent reply other threads:[~2009-02-20 21:02 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200902191356.53584.rjw@sisk.pl>
2009-02-19 14:59 ` [RFD] Automatic suspend Alan Stern
[not found] ` <Pine.LNX.4.44L0.0902190956570.3012-100000@iolanthe.rowland.org>
2009-02-19 21:15 ` Rafael J. Wysocki
[not found] ` <200902192215.18365.rjw@sisk.pl>
2009-02-19 21:56 ` Brian Swetland
2009-02-19 22:08 ` Alan Stern
2009-02-19 22:08 ` Alan Stern
2009-02-19 22:08 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0902191659020.7953-100000@iolanthe.rowland.org>
2009-02-19 22:21 ` Rafael J. Wysocki
2009-02-19 22:21 ` Rafael J. Wysocki
2009-02-19 22:21 ` Rafael J. Wysocki
[not found] ` <200902192321.47891.rjw@sisk.pl>
2009-02-19 22:58 ` Oliver Neukum
[not found] ` <200902192358.13068.oliver@neukum.org>
2009-02-20 10:46 ` Rafael J. Wysocki
[not found] ` <200902201146.59944.rjw@sisk.pl>
2009-02-20 22:05 ` Oliver Neukum
[not found] ` <200902202305.09992.oliver@neukum.org>
2009-02-20 22:44 ` Rafael J. Wysocki
2009-02-20 23:11 ` Arve Hjønnevåg
2009-02-20 23:20 ` Oliver Neukum
[not found] ` <200902210020.47665.oliver@neukum.org>
2009-02-21 1:59 ` Arve Hjønnevåg
2009-02-20 2:39 ` Arve Hjønnevåg
[not found] ` <d6200be20902191839w1f74a962h30e859c8b2434f59@mail.gmail.com>
2009-02-20 10:49 ` Rafael J. Wysocki
2009-02-20 11:26 ` Arve Hjønnevåg
[not found] ` <d6200be20902200326g6caa211ai388d4aa9fc270a28@mail.gmail.com>
2009-02-20 15:56 ` Rafael J. Wysocki
[not found] ` <200902201657.01145.rjw@sisk.pl>
2009-02-20 16:07 ` Kyle Moffett
[not found] ` <f73f7ab80902200807j743a37d7hc42283bc7b9dbe6f@mail.gmail.com>
2009-02-20 20:56 ` Rafael J. Wysocki
[not found] ` <200902202156.13480.rjw@sisk.pl>
2009-02-20 21:02 ` Rafael J. Wysocki [this message]
2009-02-20 23:03 ` Arve Hjønnevåg
2009-02-20 23:12 ` Oliver Neukum
[not found] ` <200902210012.08088.oliver@neukum.org>
2009-02-20 23:40 ` Rafael J. Wysocki
[not found] ` <200902210040.50344.rjw@sisk.pl>
2009-02-20 23:45 ` Matthew Garrett
[not found] ` <20090220234548.GA9297@srcf.ucam.org>
2009-02-21 9:52 ` Rafael J. Wysocki
2009-02-21 16:52 ` Alan Stern
[not found] ` <d6200be20902201503m59a13cddn59adfc47d0c2ed1e@mail.gmail.com>
2009-02-20 23:57 ` Rafael J. Wysocki
[not found] ` <200902210057.27781.rjw@sisk.pl>
2009-02-21 1:08 ` Arve Hjønnevåg
[not found] ` <d6200be20902201708g45540f60ib024c3365c85aef4@mail.gmail.com>
2009-02-21 9:47 ` Rafael J. Wysocki
[not found] ` <200902211047.26787.rjw@sisk.pl>
2009-02-21 10:32 ` Arve Hjønnevåg
[not found] ` <d6200be20902210232m71700247k8914ca3735563881@mail.gmail.com>
2009-02-21 20:20 ` Rafael J. Wysocki
[not found] ` <200902212120.37684.rjw@sisk.pl>
2009-02-23 23:13 ` Arve Hjønnevåg
[not found] ` <d6200be20902231513h31661a95n63407b5194b56d51@mail.gmail.com>
2009-02-23 23:53 ` Rafael J. Wysocki
[not found] ` <200902240053.11164.rjw@sisk.pl>
2009-02-24 0:02 ` Arve Hjønnevåg
2009-02-27 10:12 ` Pavel Machek
2009-02-27 10:09 ` Pavel Machek
2009-02-27 14:22 ` Rafael J. Wysocki
[not found] ` <200902271522.41915.rjw@sisk.pl>
2009-02-27 14:29 ` Matthew Garrett
2009-02-27 20:40 ` Pavel Machek
[not found] ` <20090227142946.GA13650@srcf.ucam.org>
2009-02-27 20:54 ` Rafael J. Wysocki
[not found] ` <200902272154.03539.rjw@sisk.pl>
2009-02-27 22:09 ` Arve Hjønnevåg
[not found] ` <d6200be20902271409y395822c9ic8f1223f6551631c@mail.gmail.com>
2009-02-27 22:55 ` Rafael J. Wysocki
[not found] ` <20090227204053.GB1387@ucw.cz>
2009-02-27 20:55 ` Rafael J. Wysocki
[not found] ` <200902272155.42010.rjw@sisk.pl>
2009-02-27 22:56 ` Arve Hjønnevåg
[not found] ` <d6200be20902271456w77951afata1d5f378ddbe6b84@mail.gmail.com>
2009-02-27 23:44 ` Pavel Machek
[not found] ` <20090227234458.GB2089@elf.ucw.cz>
2009-02-28 3:04 ` Arve Hjønnevåg
2009-02-28 10:18 ` Rafael J. Wysocki
[not found] ` <200902281118.14595.rjw@sisk.pl>
2009-02-28 21:57 ` Arve Hjønnevåg
[not found] ` <d6200be20902281357r2d3a0075q77055c1781f174d7@mail.gmail.com>
2009-02-28 22:53 ` Rafael J. Wysocki
[not found] ` <200902282353.39763.rjw@sisk.pl>
2009-02-28 23:38 ` Arve Hjønnevåg
2009-03-01 0:06 ` Arve Hjønnevåg
[not found] ` <d6200be20902281606g1c5db332r9970931d7080717f@mail.gmail.com>
2009-03-01 6:28 ` Benjamin Herrenschmidt
2009-03-01 9:11 ` Rafael J. Wysocki
2009-03-01 9:20 ` Rafael J. Wysocki
2009-03-01 23:08 ` Pavel Machek
[not found] ` <200903011020.53130.rjw@sisk.pl>
2009-03-03 1:22 ` Arve Hjønnevåg
[not found] ` <d6200be20903021722y7f085482o66f6dee8c4004acd@mail.gmail.com>
2009-03-03 13:51 ` Pavel Machek
[not found] ` <20090303135143.GA5060@elf.ucw.cz>
2009-03-04 0:06 ` Arve Hjønnevåg
2009-03-04 0:47 ` Pavel Machek
[not found] ` <d6200be20902281538g1dd6aec4q1b42b610d3ea15d1@mail.gmail.com>
2009-03-01 23:17 ` Rafael J. Wysocki
[not found] ` <200903020017.52390.rjw@sisk.pl>
2009-03-02 23:48 ` Arve Hjønnevåg
[not found] ` <d6200be20903021548h11f57283t6d6a9053f3feb3fd@mail.gmail.com>
2009-03-03 22:39 ` Rafael J. Wysocki
[not found] ` <200903032339.02002.rjw@sisk.pl>
2009-03-03 23:38 ` Arve Hjønnevåg
[not found] ` <d6200be20903031538s42c8243dk59c505857cdab7cb@mail.gmail.com>
2009-03-04 0:49 ` Pavel Machek
2009-03-03 13:57 ` Pavel Machek
[not found] ` <20090303135750.GC5060@elf.ucw.cz>
2009-03-03 23:51 ` Arve Hjønnevåg
2009-02-22 14:03 ` Pavel Machek
[not found] ` <20090222140311.GF1387@ucw.cz>
2009-02-23 14:04 ` Oliver Neukum
[not found] ` <200902231504.27879.oliver@neukum.org>
2009-02-27 10:18 ` Pavel Machek
[not found] ` <20090227101818.GH4582@elf.ucw.cz>
2009-02-27 15:22 ` Oliver Neukum
2009-02-27 17:09 ` Chris Friesen
[not found] ` <49A81E59.6010105@nortel.com>
2009-02-27 20:46 ` Pavel Machek
[not found] ` <200902271622.25141.oliver@neukum.org>
2009-03-05 16:54 ` Pavel Machek
[not found] <Pine.LNX.4.44L0.0902270943490.2926-100000@iolanthe.rowland.org>
2009-02-27 20:58 ` Rafael J. Wysocki
[not found] <20090227101632.GG4582@elf.ucw.cz>
2009-02-27 14:46 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0902211135170.7396-100000@netrider.rowland.org>
2009-02-21 21:14 ` Rafael J. Wysocki
[not found] ` <200902212214.59660.rjw@sisk.pl>
2009-02-27 10:16 ` Pavel Machek
[not found] <200902190004.18878.rjw@sisk.pl>
2009-02-18 23:31 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0902181826500.23001-100000@iolanthe.rowland.org>
2009-02-19 12:56 ` Rafael J. Wysocki
2009-03-05 13:48 ` Pavel Machek
[not found] <Pine.LNX.4.44L0.0902181135400.3186-100000@iolanthe.rowland.org>
2009-02-18 17:10 ` Oliver Neukum
[not found] <Pine.LNX.4.44L0.0902181009410.3186-100000@iolanthe.rowland.org>
2009-02-18 15:55 ` Oliver Neukum
2009-02-18 16:39 ` Alan Stern
[not found] <200902181605.18363.oliver@neukum.org>
2009-02-18 15:10 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0902162144010.24097-100000@netrider.rowland.org>
2009-02-17 23:26 ` Rafael J. Wysocki
[not found] ` <200902180026.55533.rjw@sisk.pl>
2009-02-18 8:53 ` Oliver Neukum
[not found] ` <200902180953.51171.oliver@neukum.org>
2009-02-18 14:51 ` Arjan van de Ven
[not found] ` <20090218065158.5efa8536@infradead.org>
2009-02-18 15:05 ` Oliver Neukum
2009-02-18 15:09 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0902162156380.24097-100000@netrider.rowland.org>
2009-02-17 23:21 ` Rafael J. Wysocki
[not found] ` <200902180022.00239.rjw@sisk.pl>
2009-02-18 4:46 ` Arve Hjønnevåg
[not found] ` <d6200be20902172046sf00599ckc6710c6132d6b92f@mail.gmail.com>
2009-02-18 21:17 ` Rafael J. Wysocki
[not found] ` <200902182217.48321.rjw@sisk.pl>
2009-02-18 22:35 ` Arve Hjønnevåg
2009-02-18 22:44 ` Oliver Neukum
2009-02-18 23:04 ` Rafael J. Wysocki
2009-03-01 22:56 ` Pavel Machek
[not found] ` <20090301225647.GE1961@elf.ucw.cz>
2009-03-02 8:24 ` Oliver Neukum
[not found] ` <200903020924.42451.oliver@neukum.org>
2009-03-02 14:34 ` Pavel Machek
2009-03-02 15:13 ` Arjan van de Ven
[not found] <20090216185758.1a4d041d@infradead.org>
2009-02-17 3:26 ` Alan Stern
[not found] <200902170008.31054.rjw@sisk.pl>
2009-02-17 3:09 ` Alan Stern
[not found] <200902170002.37973.rjw@sisk.pl>
2009-02-17 2:56 ` Alan Stern
[not found] <200902162312.50556.rjw@sisk.pl>
2009-02-16 22:40 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0902161736210.21117-100000@netrider.rowland.org>
2009-02-16 22:56 ` Arjan van de Ven
2009-02-16 23:02 ` Rafael J. Wysocki
[not found] ` <20090216145655.727cd39c@infradead.org>
2009-02-16 23:28 ` Rafael J. Wysocki
2009-02-17 2:43 ` Alan Stern
2009-02-17 2:57 ` Arjan van de Ven
2009-02-15 23:10 Rafael J. Wysocki
2009-02-16 0:44 ` Arjan van de Ven
[not found] ` <20090215164456.34aef7e8@infradead.org>
2009-02-16 2:12 ` Benjamin Herrenschmidt
[not found] ` <1234750360.26036.115.camel@pasglop>
2009-02-16 2:20 ` Arjan van de Ven
[not found] ` <20090215182012.3bc6b292@infradead.org>
2009-02-16 3:23 ` Benjamin Herrenschmidt
[not found] ` <1234754621.26036.120.camel@pasglop>
2009-02-16 3:30 ` Arjan van de Ven
2009-02-16 23:05 ` Pavel Machek
2009-02-16 7:06 ` Oliver Neukum
[not found] ` <200902160806.17901.oliver@neukum.org>
2009-02-16 15:40 ` Arjan van de Ven
[not found] ` <20090216074048.6d70f17c@infradead.org>
2009-02-16 16:48 ` Oliver Neukum
[not found] ` <200902161748.09208.oliver@neukum.org>
2009-02-16 17:31 ` Arjan van de Ven
[not found] ` <20090216093108.078aac35@infradead.org>
2009-02-16 20:08 ` Kyle Moffett
[not found] ` <f73f7ab80902161208h12837d4ex1d28d55d031d5d71@mail.gmail.com>
2009-02-16 20:28 ` Arjan van de Ven
2009-02-16 20:39 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0902161537080.19732-100000@netrider.rowland.org>
2009-02-16 20:45 ` Arjan van de Ven
[not found] ` <20090216124520.315320dc@infradead.org>
2009-02-16 21:32 ` Woodruff, Richard
[not found] ` <13B9B4C6EF24D648824FF11BE896716203771DCF1E@dlee02.ent.ti.com>
2009-02-16 21:52 ` Arjan van de Ven
[not found] ` <20090216135204.064f553b@infradead.org>
2009-02-16 22:36 ` Woodruff, Richard
[not found] ` <13B9B4C6EF24D648824FF11BE896716203771DD01B@dlee02.ent.ti.com>
2009-02-16 22:59 ` Arjan van de Ven
2009-02-16 23:08 ` Rafael J. Wysocki
[not found] ` <20090216145948.6fea81c3@infradead.org>
2009-02-16 23:19 ` Rafael J. Wysocki
[not found] ` <200902170019.40599.rjw@sisk.pl>
2009-02-16 23:23 ` Matthew Garrett
2009-02-16 23:41 ` Arjan van de Ven
[not found] ` <20090216232329.GA15678@srcf.ucam.org>
2009-02-17 10:12 ` Oliver Neukum
2009-02-17 13:58 ` Mark Brown
2009-02-17 14:20 ` Brian Swetland
[not found] ` <20090217142001.GB12378@bulgaria.corp.google.com>
2009-02-17 14:24 ` Matthew Garrett
2009-02-17 14:46 ` Arjan van de Ven
[not found] ` <20090217142453.GA25530@srcf.ucam.org>
2009-02-17 14:56 ` Oliver Neukum
[not found] ` <20090217064630.688bf639@infradead.org>
2009-02-17 14:51 ` Matthew Garrett
[not found] ` <20090217145141.GA26158@srcf.ucam.org>
2009-02-17 14:56 ` Arjan van de Ven
2009-02-17 14:58 ` Igor Stoppa
[not found] ` <20090217065622.3e0a9956@infradead.org>
2009-02-17 15:32 ` Woodruff, Richard
[not found] ` <13B9B4C6EF24D648824FF11BE896716203771DD342@dlee02.ent.ti.com>
2009-02-18 0:04 ` Arjan van de Ven
[not found] ` <20090217160421.12bc851f@infradead.org>
2009-02-18 0:18 ` Woodruff, Richard
2009-02-18 0:52 ` mark gross
2009-02-18 5:11 ` Arve Hjønnevåg
[not found] ` <13B9B4C6EF24D648824FF11BE896716203772614AD@dlee02.ent.ti.com>
2009-02-18 5:35 ` Arjan van de Ven
[not found] ` <d6200be20902172111y16debabaq85b8f58520f4079a@mail.gmail.com>
2009-02-18 5:55 ` Arjan van de Ven
2009-02-18 15:15 ` Matthew Garrett
[not found] ` <20090218151529.GB15195@srcf.ucam.org>
2009-02-18 15:20 ` Woodruff, Richard
2009-02-17 15:28 ` Brian Swetland
[not found] ` <20090217152811.GA12686@bulgaria.corp.google.com>
2009-02-18 0:55 ` mark gross
2009-02-18 2:40 ` Benjamin Herrenschmidt
2009-02-18 17:48 ` Jesse Barnes
[not found] ` <200902180948.06039.jbarnes@virtuousgeek.org>
2009-02-18 17:52 ` Matthew Garrett
[not found] ` <20090218175244.GA19235@srcf.ucam.org>
2009-02-18 18:01 ` Jesse Barnes
2009-02-18 22:05 ` Benjamin Herrenschmidt
2009-03-01 22:51 ` Pavel Machek
2009-02-27 10:00 ` Pavel Machek
2009-02-18 0:45 ` mark gross
2009-02-20 5:35 ` Arve Hjønnevåg
[not found] ` <d6200be20902192135y166eb90bt895c97c7b381c44c@mail.gmail.com>
2009-02-20 15:27 ` Arjan van de Ven
2009-02-20 18:22 ` Pavel Machek
[not found] ` <20090220182213.GA1681@ucw.cz>
2009-02-20 18:26 ` Matthew Garrett
[not found] ` <20090220182609.GA3289@srcf.ucam.org>
2009-02-20 20:49 ` Rafael J. Wysocki
[not found] ` <200902202149.25990.rjw@sisk.pl>
2009-02-20 22:43 ` Arve Hjønnevåg
2009-02-16 23:20 ` Oliver Neukum
[not found] ` <200902170020.15509.oliver@neukum.org>
2009-02-20 18:05 ` Pavel Machek
2009-02-16 6:23 ` Roland Dreier
2009-02-16 7:02 ` Oliver Neukum
[not found] ` <adad4di7vef.fsf@cisco.com>
2009-02-16 15:38 ` Arjan van de Ven
2009-02-16 22:47 ` Pavel Machek
2009-02-16 21:48 ` Rafael J. Wysocki
[not found] ` <200902162248.34287.rjw@sisk.pl>
2009-02-16 21:52 ` Peter Zijlstra
2009-02-16 21:53 ` Arjan van de Ven
[not found] ` <20090216135339.53b4a911@infradead.org>
2009-02-16 22:12 ` Rafael J. Wysocki
2009-02-16 22:51 ` Pavel Machek
[not found] ` <20090216225116.GG1370@ucw.cz>
2009-02-16 22:55 ` Arjan van de Ven
2009-02-16 23:00 ` Rafael J. Wysocki
[not found] ` <200902170000.43387.rjw@sisk.pl>
2009-02-16 23:18 ` Pavel Machek
2009-02-16 23:29 ` Oliver Neukum
2009-02-16 22:58 ` Pavel Machek
[not found] ` <20090216225831.GH1370@ucw.cz>
2009-02-16 23:13 ` Matthew Garrett
[not found] ` <20090216231324.GA15435@srcf.ucam.org>
2009-02-16 23:22 ` Pavel Machek
[not found] ` <20090216232259.GK1370@ucw.cz>
2009-02-16 23:26 ` Matthew Garrett
2009-02-17 14:14 ` Brian Swetland
2009-02-17 14:19 ` Matthew Garrett
2009-02-17 21:57 ` mark gross
[not found] ` <20090217215717.GA25605@linux.intel.com>
2009-02-17 22:04 ` Matthew Garrett
[not found] ` <20090217220439.GA1573@srcf.ucam.org>
2009-02-17 22:19 ` Jesse Barnes
[not found] ` <200902171419.14823.jbarnes@virtuousgeek.org>
2009-02-17 23:28 ` Woodruff, Richard
2009-02-18 0:34 ` mark gross
2009-02-18 17:30 ` Chris Ball
2009-02-16 23:26 ` Rafael J. Wysocki
[not found] ` <200902170026.06966.rjw@sisk.pl>
2009-02-22 13:46 ` Pavel Machek
2009-02-18 0:27 ` mark gross
[not found] ` <20090218002704.GB25605@linux.intel.com>
2009-02-18 21:11 ` Rafael J. Wysocki
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=200902202202.47718.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=arjan@infradead.org \
--cc=kyle@moffetthome.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=nigel@nigel.suspend2.net \
--cc=swetland@google.com \
--cc=u.luckas@road.de \
/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