Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable)

Oliver Neukum
2010-01-19T09:24:57Z

Am Montag, 18. Januar 2010 21:41:49 schrieb Rafael J. Wysocki:
> On Monday 18 January 2010, Oliver Neukum wrote:
> > Am Sonntag, 17. Januar 2010 14:55:55 schrieb Rafael J. Wysocki:
> > > +void mm_force_noio_allocations(void)
> > > +{
> > > + /* Wait for all slowpath allocations using the old mask to complete */
> > > + down_write(&gfp_allowed_mask_sem);
> > > + saved_gfp_allowed_mask = gfp_allowed_mask;
> > > + gfp_allowed_mask &= ~(__GFP_IO | __GFP_FS);
> > > + up_write(&gfp_allowed_mask_sem);
> > > +}
> >
> > In addition to this you probably want to exhaust all memory reserves
> > before you fail a memory allocation
>
> I'm not really sure what you mean.

Forget it, it was foolish. Instead there's a different problem.
Suppose we are tight on memory. The problem is that we must not
exhaust all memory. If we are really out of memory we may be unable
to satisfy memory allocations in resume()

Regards
Oliver