[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1213177584.17610.0.camel@caritas-dev.intel.com>
Date: Wed, 11 Jun 2008 17:46:24 +0800
From: "Huang, Ying" <ying.huang@...el.com>
To: Len Brown <lenb@...nel.org>
Cc: "Eric W. Biederman" <ebiederm@...ssion.com>,
Pavel Machek <pavel@....cz>, nigel@...el.suspend2.net,
"Rafael J. Wysocki" <rjw@...k.pl>,
Andrew Morton <akpm@...ux-foundation.org>,
Vivek Goyal <vgoyal@...hat.com>,
linux-pm@...ts.linux-foundation.org,
Kexec Mailing List <kexec@...ts.infradead.org>,
linux-kernel@...r.kernel.org
Subject: Re: [linux-pm] [PATCH -mm 2/2] kexec jump -v11: save/restore
device state
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists