diff options
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8afab64814dc..94a2ffe28008 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2893,12 +2893,12 @@ struct page *rmqueue_buddy(struct zone *preferred_zone, struct zone *zone,  			page = __rmqueue(zone, order, migratetype, alloc_flags);  			/* -			 * If the allocation fails, allow OOM handling access -			 * to HIGHATOMIC reserves as failing now is worse than -			 * failing a high-order atomic allocation in the -			 * future. +			 * If the allocation fails, allow OOM handling and +			 * order-0 (atomic) allocs access to HIGHATOMIC +			 * reserves as failing now is worse than failing a +			 * high-order atomic allocation in the future.  			 */ -			if (!page && (alloc_flags & ALLOC_OOM)) +			if (!page && (alloc_flags & (ALLOC_OOM|ALLOC_NON_BLOCK)))  				page = __rmqueue_smallest(zone, order, MIGRATE_HIGHATOMIC);  			if (!page) {  | 
