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

Reply via email to