public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Huang, Ying" <ying.huang@intel.com>
To: Pavel Machek <pavel@ucw.cz>,
	Nigel Cunningham <nigel@nigel.suspend2.net>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Alan Stern <stern@rowland.harvard.edu>,
	Jeremy
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-pm@lists.linux-foundation.org
Subject: khibernation and ACPI
Date: Fri, 28 Sep 2007 17:03:39 +0800	[thread overview]
Message-ID: <1190970219.11480.5.camel@caritas-dev.intel.com> (raw)

In following text, khibernation is the abbreviation of "kexec based
hibernation".


1. Kexec/kdump and ACPI

With Linux kernel 2.6.23-rc6-mm1 + khibernation patches on my IBM T42,
khibernation works well with ACPI. That is, the following is possible
with ACPI enabled.

a. Boot kernel A with ACPI on
b. Put devices in quiescent and low power state
c. Kexec a new kernel B with ACPI on
d. Jump back to kernel A

I think it should be a standard feature that the kexeced kernel can be
booted properly with devices been put in low power state. Because, if
the dynamic power management is enabled, some idle devices will be put
into low power state even in G0, when a crash dump is triggered, the
crash dump kernel should be booted properly even with devices been put
in low power state. If this not supported, the crash dump can not work
on system with dynamic power management on.


2. Khibernation and ACPI

Khibernation can work with ACPI even without feature above, because
image-writing kernel with initramfs can be booted independent of
device state. The scheme is as follow:

a. Boot kernel A with ACPI on
b. Put all devices in quiescent and low power state
c. Execute _PTS of ACPI
d. Kexec a new kernel B with ACPI on. The root filesystem is
   initramfs, so that, the only devices needed by kernel B is timer.
e. In kernel B, put needed devices back to normal state.
f. Write memory image of kernel A out
g. Put all devices in quiescent and low power state
h. Execute acpi_enter_sleep_state(ACPI_STATE_S4)


Any comment is welcome.

Best Regards,
Huang Ying

             reply	other threads:[~2007-09-28  9:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-28  9:03 Huang, Ying [this message]
2007-09-28 15:28 ` khibernation and ACPI Rafael J. Wysocki
2007-09-29  2:44   ` Huang, Ying
2007-10-04 10:12     ` Pavel Machek
2007-10-04 15:32       ` 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=1190970219.11480.5.camel@caritas-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    /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