From: Andrea Arcangeli Date: Wed, 25 May 2011 00:11:38 +0000 (-0700) Subject: mm/compaction: reverse the change that forbade sync migraton with __GFP_NO_KSWAPD X-Git-Tag: v3.0-rc1~281 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6a140bf164829769499b5e50d380893da39b29e;p=platform%2Fkernel%2Flinux-exynos.git mm/compaction: reverse the change that forbade sync migraton with __GFP_NO_KSWAPD It's uncertain this has been beneficial, so it's safer to undo it. All other compaction users would still go in synchronous mode if a first attempt at async compaction failed. Hopefully we don't need to force special behavior for THP (which is the only __GFP_NO_KSWAPD user so far and it's the easier to exercise and to be noticeable). This also make __GFP_NO_KSWAPD return to its original strict semantics specific to bypass kswapd, as THP allocations have khugepaged for the async THP allocations/compactions. Signed-off-by: Andrea Arcangeli Cc: Alex Villacis Lasso Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7777332..83eaa2e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2107,7 +2107,7 @@ rebalance: sync_migration); if (page) goto got_pg; - sync_migration = !(gfp_mask & __GFP_NO_KSWAPD); + sync_migration = true; /* Try direct reclaim and then allocating */ page = __alloc_pages_direct_reclaim(gfp_mask, order,