[PATCH 0/5] pci: nvmet: support completion queue sharing by multiple submission queues

Damien Le Moal dlemoal at kernel.org
Wed May 7 00:32:24 PDT 2025


On 4/24/25 2:13 PM, Wilfred Mallawa wrote:
> From: Wilfred Mallawa <wilfred.mallawa at wdc.com>
> 
> Hi all,
> 
> For the NVMe PCI transport, the NVMe specification allows different
> submission queues (SQs) to share completion queues (CQs), however,
> this is not supported in the current NVMe target implementation.
> Until now, the nvmet target implementation enforced a 1:1 relationship
> between SQs and CQs, which is not specification compliant for the NVMe
> PCI transport.
> 
> This patch series adds support for CQ sharing between multiple SQs in the
> NVMe target driver, in line with the NVMe PCI transport specification.
> This series implements reference counting for completion queues to ensure
> proper lifecycle management when shared across multiple submission queues.
> This ensures that we retain CQs until all referencing SQs are deleted
> first, thereby avoiding premature CQ deletions.

I reviewed this series but please note that I have been reviewing this code
off-list with Wilfred for a while. So given my familiarity with the code, I may
be missing things here and my review may not be as precise as it should.

Other reviews would be nice !

-- 
Damien Le Moal
Western Digital Research



More information about the Linux-nvme mailing list