* [PATCH v2] mm/compaction: fix 'limit' in fast_isolate_freepages
@ 2021-06-26 8:24 Wonhyuk Yang
2021-06-29 13:52 ` Mel Gorman
0 siblings, 1 reply; 2+ messages in thread
From: Wonhyuk Yang @ 2021-06-26 8:24 UTC (permalink / raw)
To: linux-mm; +Cc: Mel Gorman, Andrew Morton, Vlastimil Babka, Wonhyuk Yang
Because of 'min(1, ...)', fast_isolate_freepages set 'limit'
to 0 or 1. This takes away the opportunities of find candinate
pages. So, by making enough scans available, increases the
probability of finding the appropriate freepage.
Tested it on the thpscale and the results are as follows.
5.12.0 5.12.0
valnilla patched
Amean fault-both-1 598.15 ( 0.00%) 592.56 ( 0.93%)
Amean fault-both-3 1494.47 ( 0.00%) 1514.35 ( -1.33%)
Amean fault-both-5 2519.48 ( 0.00%) 2471.76 ( 1.89%)
Amean fault-both-7 3173.85 ( 0.00%) 3079.19 ( 2.98%)
Amean fault-both-12 8063.83 ( 0.00%) 7858.29 ( 2.55%)
Amean fault-both-18 8781.20 ( 0.00%) 7827.70 * 10.86%*
Amean fault-both-24 12576.44 ( 0.00%) 12250.20 ( 2.59%)
Amean fault-both-30 18503.27 ( 0.00%) 17528.11 * 5.27%*
Amean fault-both-32 16133.69 ( 0.00%) 13874.24 * 14.00%*
5.12.0 5.12.0
vanilla patched
Ops Compaction migrate scanned 6547133.00 5963901.00
Ops Compaction free scanned 32452453.00 26609101.00
5.12 5.12
vanilla patched
Duration User 27.99 28.84
Duration System 244.08 236.76
Duration Elapsed 78.27 78.38
Fixes: 5a811889de10f ("mm, compaction: use free lists to quickly locate a migration target")
Signed-off-by: Wonhyuk Yang <vvghjk1234@gmail.com>
---
mm/compaction.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mm/compaction.c b/mm/compaction.c
index 84fde270ae74..12d5b5a86078 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1380,7 +1380,7 @@ static int next_search_order(struct compact_control *cc, int order)
static unsigned long
fast_isolate_freepages(struct compact_control *cc)
{
- unsigned int limit = min(1U, freelist_scan_limit(cc) >> 1);
+ unsigned int limit = max(1U, freelist_scan_limit(cc) >> 1);
unsigned int nr_scanned = 0;
unsigned long low_pfn, min_pfn, highest = 0;
unsigned long nr_isolated = 0;
@@ -1492,11 +1492,11 @@ fast_isolate_freepages(struct compact_control *cc)
spin_unlock_irqrestore(&cc->zone->lock, flags);
/*
- * Smaller scan on next order so the total scan ig related
+ * Smaller scan on next order so the total scan is related
* to freelist_scan_limit.
*/
if (order_scanned >= limit)
- limit = min(1U, limit >> 1);
+ limit = max(1U, limit >> 1);
}
if (!page) {
--
2.30.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] mm/compaction: fix 'limit' in fast_isolate_freepages
2021-06-26 8:24 [PATCH v2] mm/compaction: fix 'limit' in fast_isolate_freepages Wonhyuk Yang
@ 2021-06-29 13:52 ` Mel Gorman
0 siblings, 0 replies; 2+ messages in thread
From: Mel Gorman @ 2021-06-29 13:52 UTC (permalink / raw)
To: Wonhyuk Yang; +Cc: linux-mm, Andrew Morton, Vlastimil Babka
On Sat, Jun 26, 2021 at 05:24:43PM +0900, Wonhyuk Yang wrote:
> Because of 'min(1, ...)', fast_isolate_freepages set 'limit'
> to 0 or 1. This takes away the opportunities of find candinate
> pages. So, by making enough scans available, increases the
> probability of finding the appropriate freepage.
>
> Tested it on the thpscale and the results are as follows.
>
> 5.12.0 5.12.0
> valnilla patched
> Amean fault-both-1 598.15 ( 0.00%) 592.56 ( 0.93%)
> Amean fault-both-3 1494.47 ( 0.00%) 1514.35 ( -1.33%)
> Amean fault-both-5 2519.48 ( 0.00%) 2471.76 ( 1.89%)
> Amean fault-both-7 3173.85 ( 0.00%) 3079.19 ( 2.98%)
> Amean fault-both-12 8063.83 ( 0.00%) 7858.29 ( 2.55%)
> Amean fault-both-18 8781.20 ( 0.00%) 7827.70 * 10.86%*
> Amean fault-both-24 12576.44 ( 0.00%) 12250.20 ( 2.59%)
> Amean fault-both-30 18503.27 ( 0.00%) 17528.11 * 5.27%*
> Amean fault-both-32 16133.69 ( 0.00%) 13874.24 * 14.00%*
>
> 5.12.0 5.12.0
> vanilla patched
> Ops Compaction migrate scanned 6547133.00 5963901.00
> Ops Compaction free scanned 32452453.00 26609101.00
>
> 5.12 5.12
> vanilla patched
> Duration User 27.99 28.84
> Duration System 244.08 236.76
> Duration Elapsed 78.27 78.38
>
> Fixes: 5a811889de10f ("mm, compaction: use free lists to quickly locate a migration target")
> Signed-off-by: Wonhyuk Yang <vvghjk1234@gmail.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
--
Mel Gorman
SUSE Labs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-06-29 13:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-26 8:24 [PATCH v2] mm/compaction: fix 'limit' in fast_isolate_freepages Wonhyuk Yang
2021-06-29 13:52 ` Mel Gorman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).