[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260211072839.61367-1-ionut.nechita@windriver.com>
Date: Wed, 11 Feb 2026 09:28:39 +0200
From: "Ionut Nechita (Wind River)" <ionut.nechita@...driver.com>
To: Keith Busch <kbusch@...nel.org>
Cc: axboe@...nel.dk, linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-rt-users@...r.kernel.org, ming.lei@...hat.com,
muchun.song@...ux.dev, mkhalfella@...estorage.com,
sunlightlinux@...il.com, chris.friesen@...driver.com,
stable@...r.kernel.org, ionut_n2001@...oo.com, bigeasy@...utronix.de
Subject: Re: [PATCH v2 1/1] block/blk-mq: fix RT kernel regression with dedicated quiesce_sync_lock
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
Powered by blists - more mailing lists