diff --git a/[refs] b/[refs] index a13660d85509..2a1e6e5bbb11 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 04b857f74cec5efc7730e9db47e291310f4708a4 +refs/heads/master: a6bf527091b1dd40f1b6a496812ce7520621c282 diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index b0af7593d01e..7ccf763bb30b 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -1883,7 +1883,8 @@ int zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) if (!(gfp_mask & __GFP_WAIT) || zone->all_unreclaimable || - atomic_read(&zone->reclaim_in_progress) > 0) + atomic_read(&zone->reclaim_in_progress) > 0 || + (p->flags & PF_MEMALLOC)) return 0; node_id = zone->zone_pgdat->node_id;