aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/page_alloc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 813b4ec1298a..bb3416932ab0 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -951,7 +951,7 @@ restart:
951 goto got_pg; 951 goto got_pg;
952 952
953 do { 953 do {
954 if (cpuset_zone_allowed(*z, gfp_mask)) 954 if (cpuset_zone_allowed(*z, gfp_mask|__GFP_HARDWALL))
955 wakeup_kswapd(*z, order); 955 wakeup_kswapd(*z, order);
956 } while (*(++z)); 956 } while (*(++z));
957 957
@@ -970,7 +970,8 @@ restart:
970 alloc_flags |= ALLOC_HARDER; 970 alloc_flags |= ALLOC_HARDER;
971 if (gfp_mask & __GFP_HIGH) 971 if (gfp_mask & __GFP_HIGH)
972 alloc_flags |= ALLOC_HIGH; 972 alloc_flags |= ALLOC_HIGH;
973 alloc_flags |= ALLOC_CPUSET; 973 if (wait)
974 alloc_flags |= ALLOC_CPUSET;
974 975
975 /* 976 /*
976 * Go through the zonelist again. Let __GFP_HIGH and allocations 977 * Go through the zonelist again. Let __GFP_HIGH and allocations