diff options
-rw-r--r-- | mm/page_alloc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index bbd0423f2820..e7664b9f706c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1971,7 +1971,12 @@ gfp_to_alloc_flags(gfp_t gfp_mask) | |||
1971 | alloc_flags |= (__force int) (gfp_mask & __GFP_HIGH); | 1971 | alloc_flags |= (__force int) (gfp_mask & __GFP_HIGH); |
1972 | 1972 | ||
1973 | if (!wait) { | 1973 | if (!wait) { |
1974 | alloc_flags |= ALLOC_HARDER; | 1974 | /* |
1975 | * Not worth trying to allocate harder for | ||
1976 | * __GFP_NOMEMALLOC even if it can't schedule. | ||
1977 | */ | ||
1978 | if (!(gfp_mask & __GFP_NOMEMALLOC)) | ||
1979 | alloc_flags |= ALLOC_HARDER; | ||
1975 | /* | 1980 | /* |
1976 | * Ignore cpuset if GFP_ATOMIC (!wait) rather than fail alloc. | 1981 | * Ignore cpuset if GFP_ATOMIC (!wait) rather than fail alloc. |
1977 | * See also cpuset_zone_allowed() comment in kernel/cpuset.c. | 1982 | * See also cpuset_zone_allowed() comment in kernel/cpuset.c. |