On Tue, 12 May 2009 00:14:23 +0200 "Rafael J. Wysocki" <rjw@xxxxxxx> wrote: > On Monday 11 May 2009, David Rientjes wrote: > > On Sun, 10 May 2009, Rafael J. Wysocki wrote: > > > > > Index: linux-2.6/mm/page_alloc.c > > > =================================================================== > > > --- linux-2.6.orig/mm/page_alloc.c > > > +++ linux-2.6/mm/page_alloc.c > > > @@ -1619,8 +1619,12 @@ nofail_alloc: > > > goto got_pg; > > > } > > > > > > - /* The OOM killer will not help higher order allocs so fail */ > > > - if (order > PAGE_ALLOC_COSTLY_ORDER) { > > > + /* > > > + * The OOM killer will not help higher order allocs so fail. > > > + * Also fail if the caller doesn't want the OOM killer to run. > > > + */ > > > + if (order > PAGE_ALLOC_COSTLY_ORDER > > > + || (gfp_mask & __GFP_NO_OOM_KILL)) { > > > clear_zonelist_oom(zonelist, gfp_mask); > > > goto nopage; > > > } > > > Index: linux-2.6/include/linux/gfp.h > > > =================================================================== > > > --- linux-2.6.orig/include/linux/gfp.h > > > +++ linux-2.6/include/linux/gfp.h > > > @@ -51,8 +51,9 @@ struct vm_area_struct; > > > #define __GFP_THISNODE ((__force gfp_t)0x40000u)/* No fallback, no policies */ > > > #define __GFP_RECLAIMABLE ((__force gfp_t)0x80000u) /* Page is reclaimable */ > > > #define __GFP_MOVABLE ((__force gfp_t)0x100000u) /* Page is movable */ > > > +#define __GFP_NO_OOM_KILL ((__force gfp_t)0x200000u) /* Don't invoke out_of_memory() */ > > > > > > -#define __GFP_BITS_SHIFT 21 /* Room for 21 __GFP_FOO bits */ > > > +#define __GFP_BITS_SHIFT 22 /* Number of __GFP_FOO bits */ > > > #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) > > > > > > /* This equals 0, but use constants in case they ever change */ > > > > > > > Nack, unnecessary in mmotm and my patch series from > > http://lkml.org/lkml/2009/5/10/118. > > Andrew, what's your opinion, please? I don't understand which part of David's patch series is supposed to address your requirement. If it's "don't kill tasks which are in D state" then that's a problem because right now I think that patch is wrong. It's still being discussed. > I can wait with these patches until the dust settles in the mm land. Yes, it is pretty dusty at present. I'd suggest that finding something else to do for a few days would be a wise step ;) _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm