Re: 2.6.21-rc5: swsusp: Not enough free memory

Rafael J. Wysocki
2007-04-09T20:16:43Z

On Monday, 9 April 2007 22:07, Jiri Slaby wrote:
> Rafael J. Wysocki napsal(a):
> > Thanks for testing.
> [...]
> > --- linux-2.6.21-rc5.orig/kernel/power/swsusp.c
> > +++ linux-2.6.21-rc5/kernel/power/swsusp.c
> > @@ -229,13 +229,13 @@ int swsusp_shrink_memory(void)
> > size += highmem_size;
> > for_each_zone (zone)
> > if (populated_zone(zone)) {
> > + tmp += snapshot_additional_pages(zone);
> > if (is_highmem(zone)) {
> > highmem_size -=
> > zone_page_state(zone, NR_FREE_PAGES);
> > } else {
> > tmp -= zone_page_state(zone, NR_FREE_PAGES);
> > tmp += zone->lowmem_reserve[ZONE_NORMAL];
> > - tmp += snapshot_additional_pages(zone);
>
> I have bad news for you :(. I thought I had unpatched kernel, but it happens
> in -rc6 too.

I guess you mean you're still seeing the 'not enough memory to suspend'
problem?

> Next, when this occurs, kernel CPU1 is not brought up and next suspend hangs
> on "Suspending consoles".

Hm, there probably is a bug in an error path. Do you use the built in swsusp
or s2disk?

Rafael