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;