on 8/29/2023 5:39 PM, Mel Gorman wrote: > On Sat, Aug 26, 2023 at 11:36:13PM +0800, Kemeng Shi wrote: >> In strict mode, we should return 0 if there is any hole in pageblock. If >> we successfully isolated pages at beginning at pageblock and then have a >> bogus compound_order outside pageblock in next page. We will abort search >> loop with blockpfn > end_pfn. Although we will limit blockpfn to end_pfn, >> we will treat it as a successful isolation in strict mode as blockpfn is >> not < end_pfn and return partial isolated pages. Then >> isolate_freepages_range may success unexpectly with hole in isolated >> range. >> >> Fixes: 9fcd6d2e052ee ("mm, compaction: skip compound pages by order in free scanner") >> Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> > > Modify the (likely(order <= MAX_ORDER)) block to avoid ever updating > blockpfn past the end of the pageblock. Then remove the second redundant > check. > Sure, I will improve this in next version.