[PATCH 0/2] qla2xxx - add nvme map_queues support

Ming Lei ming.lei at redhat.com
Mon Aug 23 20:46:32 PDT 2021


On Tue, Aug 24, 2021 at 03:38:24AM +0000, Saurav Kashyap wrote:
> Hi Sagi,
> Comments inline
> 
> > -----Original Message-----
> > From: Sagi Grimberg <sagi at grimberg.me>
> > Sent: Monday, August 23, 2021 10:51 PM
> > To: Nilesh Javali <njavali at marvell.com>; martin.petersen at oracle.com; linux-
> > nvme at lists.infradead.org; Ming Lei <ming.lei at redhat.com>
> > Cc: linux-scsi at vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-
> > Storage-Upstream at marvell.com>
> > Subject: Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
> > 
> > 
> > On 8/23/21 5:56 AM, Nilesh Javali wrote:
> > > Currently nvme fc doesn't support map queue functionality. This patch
> > > set adds map_queue functionality to nvme_fc_mq_ops and
> > > nvme_fc_port_template, providing an option to LLDs to map queues
> > > similar to SCSI. For qla2xxx, minimum 10% improvement is noticed
> > > with this change as it helps in reducing cpu thrashing.
> > 
> > Does this make nvme-fc use managed irq?
> 
> qla2xxx driver uses pci_alloc_irq_vectors_affinity to have affinity with each MSI-X vector. Currently nvme queue are not mapped based on affinity and irq offset. The change is to use blk_mq_pci_map_queues for mapping, this function consider irq affinity as well as irq offset.
> 

OK, got it. Even though without this patchset, nvme-fc actually relies
on managed irq since qla2xxx driver uses pci_alloc_irq_vectors_affinity.

Now the patchset[1] isn't good for addressing the issue in
blk_mq_alloc_request_hctx().

[1] https://lore.kernel.org/linux-block/YR7demOSG6MKFVAF@T590/T/#t


Thanks,
Ming




More information about the Linux-nvme mailing list