Message ID | 20230802093741.2333325-5-shikemeng@huaweicloud.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Fixes and cleanups to compaction | expand |
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@huaweicloud.com> > --- > 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;
on 8/2/2023 7:31 PM, Baolin Wang wrote: > > > 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@huaweicloud.com> >> --- >> 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 ..." > Thanks for the advise. This looks good to me. I will do this in next version. >> + * 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; >
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 + * 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;
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@huaweicloud.com> --- mm/compaction.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)