Re: [PATCH v2 4/8] mm/compaction: correct comment of fast_find_migrateblock in isolate_migratepages

From: Baolin Wang
Date: Wed Aug 02 2023 - 07:31:15 EST




On 8/2/2023 5:37 PM, Kemeng Shi wrote:
After 90ed667c03fe5 ("Revert "Revert "mm/compaction: fix set skip in
fast_find_migrateblock"""), we remove skip set in fast_find_migrateblock.
Correct comment that fast_find_block is used to avoid isolation_suitable
check for pageblock returned from fast_find_migrateblock because
fast_find_migrateblock will mark found pageblock skipped.
Instead, comment that fast_find_block is used to avoid a redundant check
of fast found pageblock which is already checked skip flag inside
fast_find_migrateblock.

Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>
---
mm/compaction.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index 984c17a5c8fd..5c9dc4049e8e 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1966,8 +1966,8 @@ static isolate_migrate_t isolate_migratepages(struct compact_control *cc)
block_start_pfn = cc->zone->zone_start_pfn;
/*
- * fast_find_migrateblock marks a pageblock skipped so to avoid
- * the isolation_suitable check below, check whether the fast
+ * fast_find_migrateblock will ignore pageblock skipped, so to avoid

These seem confusing to me, since the fast_find_migrateblock() did not ignore the skip flag checking. So how about below words?

"fast_find_migrateblock() has already ensured the pageblock is not set with a skipped flag, so to avoid the isolation_suitable check below again ..."

+ * the isolation_suitable check below again, check whether the fast
* search was successful.
*/
fast_find_block = low_pfn != cc->migrate_pfn && !cc->fast_search_fail;