From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vasileios Almpanis Date: Tue, 18 Aug 2026 08:53:04 +0000 Subject: Re: [Devel] [PATCH VZ10] drivers/vhost/blk: fix vhost_blk_req_done() softirq handling In-Reply-To: <20260817000234.337030-1-andrey.zhadchenko@virtuozzo.com> References: <20260817000234.337030-1-andrey.zhadchenko@virtuozzo.com> Message-ID: <178704318450.265510.11000551195230080687.b4-review@b4> List-Id: On Mon, 17 Aug 2026 03:02:34 +0300, Andrey Zhadchenko wrote: > vhost_blk_req_done() does bio_release_pages(), which may sleep on > folio_lock() when we need to dirty pages. So we get this: > > [ 9120.053244] BUG: scheduling while atomic: swapper/1/0/0x00000102 > ... > [ 9120.079613] Hardware name: Acronis OpenStack Compute/Virtuozzo, BIOS 1.16.1-1.vz9.2 04/01/2014 > [ 9120.079629] Call Trace: > [ 9120.079632] > [ 9120.079638] dump_stack_lvl+0x4e/0x70 > [ 9120.079646] __schedule_bug.cold+0x3e/0x4a > [ 9120.079650] schedule_debug.isra.0+0x93/0xc0 > [ 9120.079655] __schedule+0x7a/0x630 > [ 9120.079659] ? enqueue_task_fair+0x150/0x710 > [ 9120.079664] schedule+0x27/0x80 > [ 9120.079666] io_schedule+0x46/0x70 > [ 9120.079669] folio_wait_bit_common+0x13a/0x340 > [ 9120.079686] ? __pfx_wake_page_function+0x10/0x10 > [ 9120.079690] __bio_release_pages+0x25b/0x280 > [ 9120.079698] vhost_blk_req_done+0x98/0xa0 [vhost_blk] > [ 9120.079702] blk_update_request+0x17c/0x420 > [ 9120.079707] blk_mq_end_request+0x1c/0x30 > [ 9120.079711] dm_softirq_done+0x158/0x280 [dm_mod] > [ 9120.079737] blk_complete_reqs+0x40/0x50 > [ 9120.079740] handle_softirqs+0xe5/0x2a0 > [ 9120.079744] __irq_exit_rcu+0xbd/0xe0 > [ 9120.079746] sysvec_call_function_single+0x71/0x90 > [ 9120.079750] > [ 9120.079751] > [ 9120.079752] asm_sysvec_call_function_single+0x1a/0x20 > > [...] Reviewed-by: Vasileios Almpanis -- Vasileios Almpanis