Re: [linux-pm] [RFC PATCH 2/4] ACPI: introduce the mechanism to save/restore ACPI NVS memory

Rafael J. Wysocki
2008-07-09T20:24:28Z

On Wednesday, 9 of July 2008, Henrique de Moraes Holschuh wrote:
> On Tue, 08 Jul 2008, Pavel Machek wrote:
> > > > static int acpi_hibernation_begin(void)
> > > > {
> > > > acpi_target_sleep_state = ACPI_STATE_S4;
> > > >
> > > > - return 0;
> > > > + /* allocate pages for ACPI NVS memory before swsusp_shrink_memory */
> > > > + return acpi_allocate_nvs_pages();
> > >
> > > I think we shouldn't abort hibernation because of that.
> > >
> > > This may be an emergency hibernation due to critical battery status and we
> > > surely don't want to about that.
> >
> > I disagree here. If spec says 'you must save this', and we don't, we
> > are asking for subtle, dangerous, and very hard to repoduce problems.
>
> Indeed. Especially after we start doing the right thing, and vendors WILL
> expect us to do the right thing (save the NVS memory) *always*, not just
> "almost always".
>
> If you don't want the hibernate path to fail because of OOM, have whatever
> memory it needs pre-allocated, set aside and protected at startup so that it
> will always be there when you need to hibernate.

Okay, so be it.

However, speaking of vendors, I'd like us to be able to switch that off using
an 'acpi_sleep=' option (s4_no_nvs comes to mind) and/or blacklist broken
BIOSes.

Thanks,
Rafael