Re: [BUG] RCU hang with io_uring nvme polling

Keith Busch <[email protected]> Wed, 8 Jul 2026 07:35:00 -0600
Newsgroups org.kernel.vger.io-uring,org.kernel.vger.linux-kernel
Message-ID <ak5SBF1kDsgrGJiS@kbusch-mbp>
On Sat, Jul 04, 2026 at 03:35:14PM -0400, Ben Carey wrote:
> I'm most definitely not qualified to suggest this as a passable alternative,
> but when polling a tagset, is there a way to check if the tagset's been
> completed by another thread? Maybe break out if, for each polled request,
> request->state == MQ_RQ_COMPLETE? I'm unsure how to translate the parameters in
> blk_hctx_poll into the set of requests being waited on.

The overhead to track individual requests this way would largely negate
any benefit to polling. A request could be reallocated and dispatched
before the polling loop sees that it's complete, so at the very least
you'd have to hold an extra reference on every request you are polling
for to prevent that before you can check their status.