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

From: Oliver Neukum
Date: Tue Jan 19 2010 - 04:25:08 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/