Re: [RFC][PATCH 0/3] swsusp: Do not use page flags (was: Re: Remove page flags for software suspend)

Johannes Berg
2007-03-08T22:10:17Z

[-- Attachment #1.1: Type: text/plain, Size: 1487 bytes --]

On Thu, 2007-03-08 at 23:05 +0100, Rafael J. Wysocki wrote:

> > The easiest solution I came up with is below. Of course, the suspend
> > patches for powerpc64 are still very much work in progress and I might
> > end up changing the whole reservation scheme after some feedback... If
> > nobody else needs this then don't think about it now.
>
> Well, it may be needed for other things too.

Yeah, but it's probably better to wait for them :)

> I think we should pass a mask. BTW, can you please check if the appended patch
> is sufficient?

Unfortunately I won't be able to actually try this on hardware until the
20th or so.

> > With this patch and appropriate changes to my suspend code, it works.
>
> OK, thanks for testing!

Forgot to mention, patches are at
http://johannes.sipsolutions.net/patches/ look for the latest
powerpc-suspend-* patchset.

> + if (system_state == SYSTEM_BOOTING) {
> + /* This allocation cannot fail */
> + region = alloc_bootmem_low(sizeof(struct nosave_region));
> + } else {
> + region = kzalloc(sizeof(struct nosave_region), GFP_ATOMIC);
> + if (!region) {
> + printk(KERN_WARNING "swsusp: Not enough memory "
> + "to register a nosave region!\n");
> + WARN_ON(1);
> + return;
> + }
> + }

I don't think that'll be sufficient, system_state = SYSTEM_BOOTING is
done only in init/main.c:init_post which is done after after calling the
initcalls (they are called in do_basic_setup)

johannes

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 190 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]