[PATCH 2/4] NVMe: Decouple nvmeq hctx from ns request queue

Keith Busch keith.busch at intel.com
Tue May 19 08:51:32 PDT 2015

On Tue, 19 May 2015, Keith Busch wrote:
> <snip> and the blk-mq layer takes an hctx to iterate through busy tags

> I'm actually not sure why every request queue has their own hardware
> context. Shouldn't it be an artifact of the tagset rather than the
> request queue? I thought I might have a chance of intercepting a late
> 4.1 rc if I didn't mess with the block layer, though.

Oh no!, the blk_mq_tag_busy_iter usage is broken in the nvme driver for
anything with more than one namespace, and broken with the implementation
I suggested. It only invokes the callback if the hctx is assocaited with
the same request queue. Must fix, maybe add a blk-mq api to iterate the
tagset rather than hctx.

More information about the Linux-nvme mailing list