[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230125134434.18017-4-mgorman@techsingularity.net>
Date: Wed, 25 Jan 2023 13:44:33 +0000
From: Mel Gorman <mgorman@...hsingularity.net>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Maxim Levitsky <mlevitsk@...hat.com>,
Michal Hocko <mhocko@...nel.org>,
Pedro Falcato <pedro.falcato@...il.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Chuyi Zhou <zhouchuyi@...edance.com>,
Linux-MM <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>,
Mel Gorman <mgorman@...hsingularity.net>
Subject: [PATCH 3/4] mm, compaction: Finish scanning the current pageblock if requested
cc->finish_pageblock is set when the current pageblock should be
rescanned but fast_find_migrateblock can select an alternative
block. Disable fast_find_migrateblock when the current pageblock
scan should be completed.
Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
---
mm/compaction.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/mm/compaction.c b/mm/compaction.c
index 28711a21a8a2..4b3a0238879c 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1762,6 +1762,13 @@ static unsigned long fast_find_migrateblock(struct compact_control *cc)
if (cc->ignore_skip_hint)
return pfn;
+ /*
+ * If the pageblock should be finished then do not select a different
+ * pageblock.
+ */
+ if (cc->finish_pageblock)
+ return pfn;
+
/*
* If the migrate_pfn is not at the start of a zone or the start
* of a pageblock then assume this is a continuation of a previous
--
2.35.3
Powered by blists - more mailing lists