Hi, this is your Linux kernel regression tracker speaking. On 26.01.22 03:18, Chen Wandun wrote: > 在 2022/1/26 0:40, Vlastimil Babka 写道: >> On 1/17/22 15:27, Chen Wandun wrote: >>> This reverts commit 075782149abff45ee22f27315eced44d02b96779. >>> >>> commit 075782149abf ("mm/page_isolation: unset migratetype directly for >> That's an old -next commit id, it went to mainline as 721fb891ad0b >> ("mm/page_isolation: unset migratetype directly for non Buddy page") >> >>> non Buddy page") will result memory that should in buddy disappear by >>> mistake. move_freepages_block move all pages in pageblock instead of >>> pages indicated by input parameter, so if input pages is not in buddy >>> but other pages in pageblock is in buddy, it will result in page out of >>> control. >>> >>> Reported-by: "kernelci.org bot" <bot@xxxxxxxxxxxx> >>> Signed-off-by: Chen Wandun <chenwandun@xxxxxxxxxx> >> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> >> >> #regzbot ^introduced: 721fb891ad0b Thx for getting regzbot involved, much appreciated. >> There should better be also: >> >> Fixes: 721fb891ad0b ("mm/page_isolation: unset migratetype directly >> for non >> Buddy page") >> >> Especially as that commit had a (inadequate, IMHO, for an optimization) >> Fixes: tag and could end up being backported somewhere without the >> followup >> fix/revert. > > thanks, I will send v2 Just wondering: Andrew, I don't see this patch in the list of changes you sent to Linus yesterday. Shouldn't it be in there due to above reason alone? And there is another reason: it seems to be an issue people actually hit, as Guenter mentioned in this thread. It thus complicates things for those that want to help testing pre-releases. Or am I missing something/asking too much in this case? BTW, let's tell regzbot about v2: #regzbot monitor: https://lore.kernel.org/all/20220126024436.13921-1-chenwandun@xxxxxxxxxx/ Ciao, Thorsten >>> --- >>> mm/page_isolation.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/mm/page_isolation.c b/mm/page_isolation.c >>> index 6a0ddda6b3c5..f67c4c70f17f 100644 >>> --- a/mm/page_isolation.c >>> +++ b/mm/page_isolation.c >>> @@ -115,7 +115,7 @@ static void unset_migratetype_isolate(struct page >>> *page, unsigned migratetype) >>> * onlining - just onlined memory won't immediately be >>> considered for >>> * allocation. >>> */ >>> - if (!isolated_page && PageBuddy(page)) { >>> + if (!isolated_page) { >>> nr_pages = move_freepages_block(zone, page, migratetype, >>> NULL); >>> __mod_zone_freepage_state(zone, nr_pages, migratetype); >>> } >> . > > >