From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mga11.intel.com ([192.55.52.93]) by bombadil.infradead.org with esmtp (Exim 4.68 #1 (Red Hat Linux)) id 1K6Ms0-00045V-SK for kexec@lists.infradead.org; Wed, 11 Jun 2008 09:43:57 +0000 Subject: Re: [linux-pm] [PATCH -mm 2/2] kexec jump -v11: save/restore device state From: "Huang, Ying" In-Reply-To: References: <1213082106.22608.30.camel@caritas-dev.intel.com> <1213146074.21923.10.camel@caritas-dev.intel.com> Date: Wed, 11 Jun 2008 17:46:24 +0800 Message-Id: <1213177584.17610.0.camel@caritas-dev.intel.com> Mime-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: kexec-bounces@lists.infradead.org Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Len Brown Cc: nigel@nigel.suspend2.net, Kexec Mailing List , linux-kernel@vger.kernel.org, "Rafael J. Wysocki" , "Eric W. Biederman" , Pavel Machek , Andrew Morton , linux-pm@lists.linux-foundation.org, Vivek Goyal On Wed, 2008-06-11 at 04:21 -0400, Len Brown wrote: > On Wed, 11 Jun 2008, Huang, Ying wrote: > > On Tue, 2008-06-10 at 14:01 -0400, Len Brown wrote: > > > > > > On Tue, 10 Jun 2008, Huang, Ying wrote: > > > > > > > This patch implements devices state save/restore before after kexec. > > > > > > > > > > > > This patch together with features in kexec_jump patch can be used for > > > > following: > > > > > > > > - A simple hibernation implementation without ACPI support. You can > > > > kexec a hibernating kernel, save the memory image of original system > > > > and shutdown the system. When resuming, you restore the memory image > > > > of original system via ordinary kexec load then jump back. > > > > > > What part of ACPI's role in hibernation are you trying to avoid > > > 1. enabling wake devices > > > 2. removing power from the system > > > 3. something else? > > > > ACPI S5 is used instead of S4 for this simple hibernation > > implementation. That is, before creating the hibernation image, the ACPI > > _PTS is not executed, devices are not put into low power state and wake > > devices are not enabled. After creating the hibernation image, the image > > is saved to disk and system is shutdown (go to S5). When resuming from > > hibernated image, ACPI _BFS and _WAK are not executed too. > > Doesn't that resume the devices and their drivers into an unknown state? device_suspend(PMSG_FREEZE) and device_power_down(PMSG_FREEZE) are called before hibernation; device_power_up(PMSG_RESTORE) and device_resume(PMSG_RESTORE) are called after restore. The new hibernation/restore device driver callbacks introduced by Rafael is used. So I think the device/driver state will be saved/restored properly. It is planed to support ACPI S4 in the future. But I think a hibernation scheme without ACPI may be useful in some situation too. Best Regards, Huang Ying _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec