On 2024/4/27 11:45, Matthew Wilcox wrote:
On Fri, Apr 26, 2024 at 11:49:05AM -0700, Andrew Morton wrote:
On Fri, 26 Apr 2024 19:29:38 +0800 Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> wrote:
io_schedule+0x24/0xa0
__folio_lock+0x130/0x300
migrate_pages_batch+0x378/0x918
migrate_pages+0x350/0x700
compact_zone+0x63c/0xb38
compact_zone_order+0xc0/0x118
try_to_compact_pages+0xb0/0x280
__alloc_pages_direct_compact+0x98/0x248
__alloc_pages+0x510/0x1110
alloc_pages+0x9c/0x130
folio_alloc+0x20/0x78
filemap_alloc_folio+0x8c/0x1b0
page_cache_ra_order+0x174/0x308
ondemand_readahead+0x1c8/0x2b8
I'm thinking
Fixes: 793917d997df ("mm/readahead: Add large folio readahead")
Cc: stable
I think it goes back earlier than that.
https://lore.kernel.org/linux-mm/20200128060304.GA6615@xxxxxxxxxxxxxxxxxxxxxx/
details how it can happen with the old readpages code. It's just easier
to hit now.
The page_cache_ra_order() is introduced from 793917d997df, but previous
bugfix f2c817bed58d ("mm: use memalloc_nofs_save in readahead path")
don't Cc stable, so the previous patch should be posted to stable?