diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b7f14a4799a52e3881548d91568908f7ed988eb3..a5c3f8bd98ae4edb299966d618c719f47ca175ac 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -943,7 +943,8 @@ __alloc_pages(gfp_t gfp_mask, unsigned int order, goto got_pg; do { - wakeup_kswapd(*z, order); + if (cpuset_zone_allowed(*z, gfp_mask)) + wakeup_kswapd(*z, order); } while (*(++z)); /*