public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Maitin-Shepard <jbms@cmu.edu>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: david@lang.hm, Alan Stern <stern@rowland.harvard.edu>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>, "Huang\,
	Ying" <ying.huang@intel.com>, Kyle Moffett <mrmacman_g4@mac.com>,
	Nigel Cunningham <nigel@nigel.suspend2.net>,
	Pavel Machek <pavel@ucw.cz>,
	pm list <linux-pm@lists.linux-foundation.org>,
	Al Boldi <a1426z@gawab.com>
Subject: Re: Hibernation considerations
Date: Tue, 17 Jul 2007 16:24:29 -0400	[thread overview]
Message-ID: <87sl7mg4n6.fsf@jbms.ath.cx> (raw)
In-Reply-To: <200707172150.44417.rjw@sisk.pl> (Rafael J. Wysocki's message of "Tue\, 17 Jul 2007 21\:50\:42 +0200")

"Rafael J. Wysocki" <rjw@sisk.pl> writes:

[snip]

> Well, first, the fact is that _some_ systems _will_ be powered while in
> hibernation (the majority of notebooks, for example) and you should assume
> that the platform _may_ retain some information accross the hibernation/restore
> cycle.  In that case you _should_ _not_ trash the information retained by the
> platform.

I'm not sure the majority of notebook users will want wakeup support in
exchange for some power consumption while the system is off.  I think
many people would not consider the trouble of having to press the power
button instead of merely opening the lid too great.

Furthermore, S4 mode is of course also not suitable if you intend to
replace the battery while the system is hibernated.

It does seem that it is useful to provide S4 as an option, but certainly
just shutting down should also be an option on all systems.

> Now, with that in mind, ACPI requires us to make the system enter the S4 sleep
> state as a result of the hibernation procedure.  In my opinion this may be done
> after saving the image, but still this means, for example, that the
> image-saving kernel needs to support ACPI.

It seems that it most certainly must be done AFTER saving the image, as
the image obviously cannot be saved after entering S4 state, since S4
state is nearly the same as powering off completely and all memory will
be lost.

> Next, during the restore, we should first check if the image is present (and
> valid) _without_ turning ACPI on (note that this is not done by the current
> hibernation code and that leads to strange problems on some systems).  Then,
> if the image is present (and valid), we should first load it, jump to the
> hibernated kernel and _then_ turn ACPI on and execute the _BFS and
> _WAK ACPI global methods (again, this is not done by the current code in that
> order, which is wrong).  Only after that is the hibernated kernel supposed to
> continue.

It seems that the implementation of that behavior for Linux cannot be
quite so simple, since resume from hibernation is driven (in general)
from an initrd/initramfs rather than directly from the kernel
initialization sequence, in order to support modular drivers and
features like DM and LVM.

Thus, there would have to be a new "delay_acpi_initialization" kernel
command-line option.  Additionally, there would be a sysfs interface to
tell the kernel to proceed with the ACPI initialization as normal.  This
would be used by an initrd/initramfs after determining that a resume
from hibernate will not be done.  If a resume from hibernate is done,
this hook won't be used, and instead the resumed kernel will call the
ACPI hibernate resume stuff if S4 state was used; otherwise, the resumed
kernel will just re-initialize ACPI as normal.  Also, if the in-kernel
code for checking if a resume can be done does not find a hibernate
image, it will also invoke the delayed ACPI initialization.

-- 
Jeremy Maitin-Shepard

  parent reply	other threads:[~2007-07-17 20:31 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-15 12:33 Hibernation considerations Rafael J. Wysocki
2007-07-15 12:51 ` Nigel Cunningham
2007-07-15 12:58 ` Dr. David Alan Gilbert
2007-07-15 22:38   ` Rafael J. Wysocki
2007-07-15 22:27     ` david
2007-07-17 17:40       ` Dr. David Alan Gilbert
2007-07-17 17:49         ` david
2007-07-29  6:53     ` Vojtech Pavlik
2007-07-29  9:56       ` Rafael J. Wysocki
2007-08-05 19:56       ` encrypted hibernation (was Re: Hibernation considerations) Pavel Machek
2007-08-11 23:43         ` Dr. David Alan Gilbert
2007-08-12 22:12           ` Rafael J. Wysocki
2007-08-18 19:37             ` Dr. David Alan Gilbert
2007-08-21  7:29               ` Pavel Machek
2007-08-13  2:30           ` Michael Chang
2007-08-13  4:53             ` alon.barlev
2007-07-15 15:10 ` Hibernation considerations Al Boldi
2007-07-15 15:35   ` jimmy bahuleyan
2007-07-15 17:40     ` Al Boldi
2007-07-15 16:29   ` Alan Stern
2007-07-15 17:40     ` Al Boldi
2007-07-15 23:28       ` Alan Stern
2007-07-15 23:58         ` david
2007-07-16  5:02         ` Al Boldi
2007-07-16  6:49           ` david
2007-07-16 13:32             ` Al Boldi
2007-07-17  4:33               ` david
2007-07-17 12:08                 ` Al Boldi
2007-07-17 14:18                   ` Rafael J. Wysocki
2007-07-17 15:23                   ` david
2007-07-16 14:53           ` Alan Stern
2007-07-16 16:51             ` Al Boldi
2007-07-17  4:37               ` david
2007-07-15 19:52     ` david
2007-07-15 20:13 ` david
2007-07-15 22:47   ` Rafael J. Wysocki
2007-07-15 22:42     ` david
2007-07-15 23:15       ` Alan Stern
2007-07-15 23:38         ` Nigel Cunningham
2007-07-16 14:15           ` Alan Stern
2007-07-16 15:25             ` Rafael J. Wysocki
2007-07-15 23:41         ` david
2007-07-16 14:21           ` Alan Stern
2007-07-17  4:45             ` david
2007-07-17 14:15               ` Alan Stern
2007-07-17 14:40                 ` Rafael J. Wysocki
2007-07-17 15:29                   ` david
2007-07-17 16:02                     ` Rafael J. Wysocki
2007-07-17 17:06                       ` david
2007-07-17 19:50                         ` Rafael J. Wysocki
2007-07-17 20:18                           ` david
2007-07-17 20:39                             ` Jeremy Maitin-Shepard
2007-07-17 20:39                               ` david
2007-07-17 20:58                               ` Rafael J. Wysocki
2007-07-17 20:57                             ` Rafael J. Wysocki
2007-07-17 20:53                               ` david
2007-07-17 21:37                                 ` Rafael J. Wysocki
2007-07-17 21:42                                   ` david
2007-07-17 21:53                                     ` Jeremy Maitin-Shepard
2007-07-21 10:25                             ` Pavel Machek
2007-07-21 15:35                               ` Jeremy Maitin-Shepard
2007-07-21 17:56                                 ` Pavel Machek
2007-07-21 19:35                                   ` david
2007-07-21 19:49                                     ` Pavel Machek
2007-07-21 22:14                                       ` david
2007-08-01 16:58                             ` Stefan Seyfried
2007-07-17 20:24                           ` Jeremy Maitin-Shepard [this message]
2007-07-17 20:44                             ` david
2007-07-17 21:00                             ` Rafael J. Wysocki
2007-07-17 16:09                   ` Jeremy Maitin-Shepard
2007-07-17 19:54                     ` Rafael J. Wysocki
2007-07-17 18:32                   ` Alan Stern
2007-07-17 20:17                     ` Rafael J. Wysocki
2007-07-17 20:34                       ` david
2007-07-17 20:54                         ` Jeremy Maitin-Shepard
2007-07-17 21:04                           ` david
2007-07-17 21:23                         ` Rafael J. Wysocki
2007-07-17 21:17                           ` david
2007-07-17 21:27                             ` Jeremy Maitin-Shepard
2007-07-17 21:27                               ` david
2007-07-17 21:54                                 ` Rafael J. Wysocki
2007-07-17 21:45                               ` Rafael J. Wysocki
2007-07-17 21:43                             ` Rafael J. Wysocki
2007-07-17 20:34                       ` Jeremy Maitin-Shepard
2007-07-17 20:37                         ` david
2007-07-17 20:56                           ` Jeremy Maitin-Shepard
2007-07-17 21:06                             ` david
2007-07-17 21:40                               ` Rafael J. Wysocki
2007-07-17 21:24                           ` Rafael J. Wysocki
2007-07-17 21:11                         ` Rafael J. Wysocki
2007-07-17 20:27                     ` david
2007-07-17 21:20                       ` Rafael J. Wysocki
     [not found]                         ` <ea7a437ca4038d408ac544bbc3c2434a@bga.com>
2007-07-19 17:31                           ` [linux-pm] " david
2007-07-20 14:24                             ` Milton Miller
2007-07-20 15:44                               ` david
2007-07-19 20:28                           ` Rafael J. Wysocki
2007-07-19 23:07                             ` david
2007-07-20 11:17                               ` Rafael J. Wysocki
2007-07-20 15:35                                 ` david
2007-07-20 16:15                                   ` Alan Stern
2007-07-20 21:46                                     ` Rafael J. Wysocki
2007-07-20 16:56                                 ` Milton Miller
2007-07-20 17:31                                   ` Jeremy Maitin-Shepard
2007-07-20 21:30                                     ` Rafael J. Wysocki
2007-07-20 19:26                                   ` david
2007-07-20 21:28                                   ` Rafael J. Wysocki
2007-07-20 21:33                                     ` Jeremy Maitin-Shepard
2007-07-20 22:19                                       ` Rafael J. Wysocki
     [not found]                               ` <20070720152744.GH20529@grifter.jdc.home>
2007-07-20 15:36                                 ` david
2007-07-20 21:43                                   ` Rafael J. Wysocki
2007-07-20 21:39                                     ` david
2007-07-20 22:22                                       ` Rafael J. Wysocki
2007-07-20 22:39                                         ` david
2007-07-20 16:08                             ` Milton Miller
2007-07-20 16:20                               ` Alan Stern
2007-07-20 17:32                                 ` Milton Miller
2007-07-20 18:17                                   ` Alan Stern
2007-07-20 19:08                                     ` Milton Miller
2007-07-20 19:37                                       ` Alan Stern
2007-07-20 20:03                                     ` Oliver Neukum
2007-07-20 20:12                                       ` Alan Stern
2007-07-20 21:35                                         ` Oliver Neukum
2007-07-20 22:25                                           ` Alan Stern
2007-07-23 14:23                                             ` Oliver Neukum
2007-07-23 20:05                                               ` Towards eliminating the freezer Alan Stern
2007-07-24  8:21                                                 ` Oliver Neukum
2007-07-24 14:27                                                   ` Alan Stern
2007-07-24  9:33                                                 ` Rafael J. Wysocki
2007-07-24 14:29                                                   ` Alan Stern
2007-07-24 15:24                                                     ` Rafael J. Wysocki
2007-07-24 16:06                                                       ` Alan Stern
2007-07-24 19:20                                                         ` Rafael J. Wysocki
2007-07-24 20:24                                                           ` Alan Stern
2007-07-24 21:14                                                             ` Rafael J. Wysocki
2007-07-24 22:14                                                               ` Alan Stern
2007-07-25 12:23                                                                 ` Rafael J. Wysocki
2007-08-01  9:34                                             ` [linux-pm] Re: Hibernation considerations Pavel Machek
2007-08-03  3:50                                               ` david
2007-07-20 20:31                                 ` david
2007-07-20 21:24                                   ` Alan Stern
2007-07-20 21:34                                     ` david
2007-07-20 22:15                                       ` Rafael J. Wysocki
2007-07-20 21:37                                     ` Jeremy Maitin-Shepard
2007-07-20 22:35                                       ` Alan Stern
2007-07-20 22:43                                         ` david
2007-07-21  5:21                                           ` Nigel Cunningham
2007-07-21 14:10                                           ` Alan Stern
2007-07-22  3:43                                             ` david
2007-07-22 16:00                                               ` Alan Stern
2007-07-22 21:50                                                 ` david
2007-07-23 15:19                                                   ` Alan Stern
2007-07-23 19:01                                                     ` david
2007-07-23 20:22                                                       ` Alan Stern
2007-07-24 13:26                                                         ` Huang, Ying
2007-07-24 14:50                                                           ` Alan Stern
2007-07-20 22:48                                         ` Jeremy Maitin-Shepard
2007-07-20 21:02                               ` Rafael J. Wysocki
2007-07-21 11:44                                 ` Miklos Szeredi
2007-07-21 12:43                                   ` Nigel Cunningham
2007-07-21 13:56                                     ` Alan Stern
2007-07-21 16:13                                     ` Jeremy Maitin-Shepard
2007-07-21 18:12                                       ` Miklos Szeredi
2007-07-21 19:20                                         ` Rafael J. Wysocki
2007-08-01  9:22                                           ` Pavel Machek
2007-08-02 17:02                                             ` Rafael J. Wysocki
2007-07-21 22:21                                         ` Nigel Cunningham
2007-07-21 22:16                                       ` Nigel Cunningham
2007-07-22 15:26                                         ` Alan Stern
2007-07-22 16:27                                           ` Miklos Szeredi
2007-07-22 20:09                                             ` Alan Stern
2007-07-22 21:54                                               ` david
2007-07-22 22:42                                           ` Nigel Cunningham
2007-07-22 23:09                                             ` Rafael J. Wysocki
2007-07-22 23:18                                               ` Nigel Cunningham
2007-07-23  0:04                                             ` Paul Mackerras
2007-07-23  3:11                                               ` Nigel Cunningham
2007-07-23 15:23                                                 ` Alan Stern
2007-07-23 21:55                                                   ` Nigel Cunningham
2007-07-23 22:10                                                     ` Rafael J. Wysocki
2007-07-23  5:31                                             ` david
2007-07-23 10:24                                             ` Miklos Szeredi
2007-07-23 12:08                                               ` Rafael J. Wysocki
2007-07-23 12:14                                                 ` Miklos Szeredi
2007-07-23 12:27                                                   ` Rafael J. Wysocki
2007-07-23 12:31                                                   ` Oliver Neukum
2007-07-23 13:08                                                     ` Miklos Szeredi
2007-07-23 14:01                                                       ` Rafael J. Wysocki
2007-07-23 14:01                                                         ` Miklos Szeredi
2007-07-23 19:08                                                     ` david
2007-08-01  9:19                                     ` Pavel Machek
     [not found]                         ` <40fa2626aff7b6b590ad6aa4737fc873@bga.com>
2007-07-20 14:48                           ` Huang, Ying
2007-07-20 15:48                             ` david
2007-07-22  2:17                               ` Huang, Ying
2007-07-22  2:32                                 ` david
2007-07-20 21:34                             ` Rafael J. Wysocki
2007-07-17 22:38                       ` Alan Stern
2007-07-17 22:37                         ` david
2007-07-18 14:29                           ` Alan Stern
2007-07-18 14:47                             ` Rafael J. Wysocki
2007-07-20  4:40                               ` Al Boldi
2007-07-20 10:59                                 ` Rafael J. Wysocki
2007-07-21 10:17               ` Pavel Machek
2007-07-15 23:22       ` Rafael J. Wysocki
2007-07-15 23:49         ` david
2007-07-16 12:06           ` Rafael J. Wysocki
     [not found]             ` <20070716123849.GC14212@grifter.jdc.home>
2007-07-16 15:29               ` Rafael J. Wysocki
2007-07-17  4:28                 ` david
2007-07-17 10:42                   ` Matthew Garrett
2007-07-17 15:19                     ` david
2007-07-18  2:18                       ` Matthew Garrett
2007-07-18  3:54                         ` david
2007-07-18 11:10                           ` Matthew Garrett
2007-07-18 12:56                             ` david
2007-07-15 23:17   ` Alan Stern
2007-07-15 23:53     ` david
2007-07-16  5:18       ` Jeremy Maitin-Shepard
2007-07-15 20:35 ` Cornelius Riemenschneider
2007-07-15 19:46   ` david
2007-07-16  0:51 ` Matthew Garrett
2007-07-16  0:51   ` david

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=87sl7mg4n6.fsf@jbms.ath.cx \
    --to=jbms@cmu.edu \
    --cc=a1426z@gawab.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@lang.hm \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=mrmacman_g4@mac.com \
    --cc=nigel@nigel.suspend2.net \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    --cc=ying.huang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox