Messages in this thread | | | Date | Wed, 13 May 2009 15:35:32 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH 3/6] mm, PM/Freezer: Disable OOM killer when tasks are frozen |
| |
On Wed, 13 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 > @@ -175,6 +175,8 @@ static void set_pageblock_migratetype(st > PB_migrate, PB_migrate_end); > } > > +bool oom_killer_disabled __read_mostly; > + > #ifdef CONFIG_DEBUG_VM > static int page_outside_zone_boundaries(struct zone *zone, struct page *page) > { > @@ -1600,6 +1602,9 @@ nofail_alloc: > if (page) > goto got_pg; > } else if ((gfp_mask & __GFP_FS) && !(gfp_mask & __GFP_NORETRY)) { > + if (oom_killer_disabled) > + goto nopage; > + > if (!try_set_zone_oom(zonelist, gfp_mask)) { > schedule_timeout_uninterruptible(1); > goto restart;
This allows __GFP_NOFAIL allocations to fail.
| |