lkml.org 
[lkml]   [2018]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 09/14] mm, compaction: Ignore the fragmentation avoidance boost for isolation and compaction
Date
When pageblocks get fragmented, watermarks are artifically boosted to pages
are reclaimed to avoid further fragmentation events. However, compaction
is often either fragmentation-neutral or moving movable pages away from
unmovable/reclaimable pages. As the actual watermarks are preserved,
allow compaction to ignore the boost factor.

1-socket thpscale
4.20.0-rc6 4.20.0-rc6
finishscan-v1r4 noboost-v1r4
Amean fault-both-1 0.00 ( 0.00%) 0.00 * 0.00%*
Amean fault-both-3 3849.90 ( 0.00%) 3753.53 ( 2.50%)
Amean fault-both-5 5054.13 ( 0.00%) 5396.32 ( -6.77%)
Amean fault-both-7 7061.77 ( 0.00%) 7393.46 ( -4.70%)
Amean fault-both-12 11560.59 ( 0.00%) 12155.50 ( -5.15%)
Amean fault-both-18 16120.15 ( 0.00%) 16445.96 ( -2.02%)
Amean fault-both-24 19804.31 ( 0.00%) 20465.03 ( -3.34%)
Amean fault-both-30 25018.73 ( 0.00%) 20813.54 * 16.81%*
Amean fault-both-32 24380.19 ( 0.00%) 22384.02 ( 8.19%)

The impact on the scan rates is a mixed bag because this patch is very
sensitive to timing and whether the boost was active or not. However,
detailed tracing indicated that failure of migration due to a premature
ENOMEM triggered by watermark checks were eliminated.

Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 80535cd55a92..c7b80e62bfd9 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3043,7 +3043,7 @@ int __isolate_free_page(struct page *page, unsigned int order)
* watermark, because we already know our high-order page
* exists.
*/
- watermark = min_wmark_pages(zone) + (1UL << order);
+ watermark = zone->_watermark[WMARK_MIN] + (1UL << order);
if (!zone_watermark_ok(zone, 0, watermark, 0, ALLOC_CMA))
return 0;

--
2.16.4
\
 
 \ /
  Last update: 2018-12-15 00:04    [W:0.171 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site