On 3/2/2026 10:23 PM, Gao Xiang wrote:
[Some people who received this message don't often get email from
[email protected]. Learn why this is important at https://
aka.ms/LearnAboutSenderIdentification ]
[ EXTERNAL EMAIL ]
Hi Christoph,
On 2026/3/2 21:50, Christoph Hellwig wrote:
On Mon, Mar 02, 2026 at 10:51:03AM +0800, Jiucheng Xu via B4 Relay wrote:
From: Jiucheng Xu <[email protected]>
When current->bio_list is non-NULL in submit_bio_wait(),
submit_bio_noacct_nocheck appends bio to bio_list but skips IO
submission, causing submit_bio_wait() to hang indefinitely.
Fix this by temporarily backup bio_list, setting bio_list to
NULL before calling submit_bio(), then restoring bio_list
after submit_bio() returns.
No. Fix this by not doing something that is a bad idea.
I've trimmed down the call stack, as follows:
f2fs_submit_read_io
submit_bio
mmc_blk_mq_recovery
z_erofs_endio
vm_map_ram
->bi_end_io code really should not be having random in_atomic()
checks that make it completely different, but even if they have
Thanks for the head-up.
For this part, I'm pretty sure we need this particular one
otherwise the scheduling performance (latency sensitive)
is unacceptable for all Android phone users.
that need to use GFP_NOIO.
Yes, it should make vm_map_ram() in the end_io path use
GFP_NOIO instead.
Jiucheng, could you add memalloc_noio_{save,restore}() to
wrap up this path?
Thanks for Christoph's and Xiang's comments, I will try it. Thanks!
Best Regards,
Jiucheng