Re: [PATCH v2 1/1] block/blk-mq: fix RT kernel regression with dedicated quiesce_sync_lock
"Ionut Nechita (Wind River)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-rt-users,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Feb 10, 2026 at 02:39:36PM -0700, Keith Busch wrote: > I didn't see the reasoning for this path to run in async mode. Is this > change related to this patch? Yes, this change is related. In __blk_freeze_queue_start(), the caller will wait for freeze completion via blk_mq_freeze_queue_wait() regardless, so synchronous dispatch is not required here. On RT kernels, running the hw queues synchronously means the calling thread directly enters the dispatch path and hits the lock contention this patch addresses. Switching to async delegates the work to kblockd workers that can run in parallel across CPUs, complementing the quiesce_sync_lock fix by not introducing additional serialization in the freeze path. Thanks, Ionut