Re: [PATCH 2/3] swsusp: Do not use page flags

Rafael J. Wysocki
2007-03-15T23:59:01Z

On Thursday, 15 March 2007 23:23, Andrew Morton wrote:
> On Thu, 15 Mar 2007 23:19:02 +0100 (CET)
> Jiri Kosina <jikos@jikos.cz> wrote:
>
> > On Thu, 15 Mar 2007, Andrew Morton wrote:
> >
> > > > > And why _does_ suspend use GFP_ATOMIC all over the place?
> > > > Generally, because it cannot sleep.
> > > Why not?
> >
> > I guess it's simply beucase of kswapd being already frozen, so there is no
> > chance that once GFP_KERNEL allocation goes to sleep, it is going to get
> > any free pages eventually ... ?
>
> No, things should run fine with a dead kswapd.
>
> There are reasons why we can't call into filesystems from there, but
> GFP_NOIO will ensure that and it is heaps better than GFP_ATOMIC.

In fact the role of swsusp_shrink_memory() is to ensure that our subsequent
atomic allocations won't fail.

Still, the particular allocations in create_basic_memory_bitmaps() are made
before we call swsusp_shrink_memory(), so it's better to use GFP_NOIO in there.

I'll prepare a patch for that on top of the current series.