Messages in this thread | | | Date | Tue, 29 Aug 2023 10:39:09 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH v2 3/7] mm/compaction: correctly return failure with bogus compound_order in strict mode |
| |
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@huaweicloud.com>
Modify the (likely(order <= MAX_ORDER)) block to avoid ever updating blockpfn past the end of the pageblock. Then remove the second redundant check.
-- Mel Gorman SUSE Labs
| |