From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: Re: Hibernation considerations Date: Mon, 16 Jul 2007 14:06:27 +0200 Message-ID: <200707161406.28539.rjw@sisk.pl> References: <200707151433.34625.rjw@sisk.pl> <200707160122.09840.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: david@lang.hm Cc: LKML , Kyle Moffett , Al Boldi , "Eric W. Biederman" , Pavel Machek , "Huang, Ying" , Andrew Morton , pm list , Jeremy Maitin-Shepard List-Id: linux-pm@vger.kernel.org On Monday, 16 July 2007 01:49, david@lang.hm wrote: > On Mon, 16 Jul 2007, Rafael J. Wysocki wrote: > > > On Monday, 16 July 2007 00:42, david@lang.hm wrote: > >> On Mon, 16 Jul 2007, Rafael J. Wysocki wrote: > >> > >>> On Sunday, 15 July 2007 22:13, david@lang.hm wrote: > >>>> On Sun, 15 Jul 2007, Rafael J. Wysocki wrote: > >>>> > >>>>> The ACPI specification requires us to invoke some global ACPI methods > >>>>> during the hibernation and during the restore. Moreover, the ordering of > >>>>> code related to these ACPI methods may not be arbitrary (eg. some of > >>>>> them have to be executed after devices are put into low power states etc.). > >>>> > >>>> for a pure hibernate mode, you will be powering off the box after saving > >>>> the suspend image. why are there any special ACPI modes involved? > >>> > >>> Because, for example, on my machine the status of power supply (present > >>> vs not present) is not updated correctly after the restore if ACPI callbacks > >>> aren't used during the hibernation. That's just experience and it's in line > >>> with the ACPI spec. > >> > >> so if a machine is actually powered off the /dev/suspend process won't > >> work? > > > > No, it sort of works as usual, but after the restore the platform is not in the > > correct state. > > this is not hibernate as I and many others are thinking of it. > > hibernate as we are thinking would work on basicly any hardware, including > things with no ACPI or power savings support. and the system could be in > hibernate mode for any time period. > > for that matter, after a system is put into hibernate mode the system > could be completely disassembled and any components replaced and the > system would work after a resume (assuming you still have access to the > suspend image) Well, this is not how ACPI defines the S4 sleep state. If the system is in S4, that corresponds to our hibernation, you are _not_ allowed to disassemble it. I've just done an experiment on my test desktop. I had enabled suspend support in the CMOS setup and afterwards I made Linux hibernate in the "platform" mode. Then, when the system was powred on, the BIOS showed me a nice "Resume from hibernation" screen that is not normally displayed during boot. This clearly means that some information has been preserved by the platform across the hibernate/restore cycle. We are supposed to handle that. Greetngs, Rafael -- "Premature optimization is the root of all evil." - Donald Knuth