* [PATCH 0/2] qla2xxx - add nvme map_queues support
@ 2021-08-23 12:56 Nilesh Javali
2021-08-23 12:56 ` [PATCH 1/2] nvme-fc: Add support for map_queues Nilesh Javali
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Nilesh Javali @ 2021-08-23 12:56 UTC (permalink / raw)
To: martin.petersen, linux-nvme; +Cc: linux-scsi, GR-QLogic-Storage-Upstream
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.
Saurav Kashyap (2):
nvme-fc: Add support for map_queues.
qla2xxx: Add map_queues support to nvme.
drivers/nvme/host/fc.c | 25 +++++++++++++++++++++++++
drivers/scsi/qla2xxx/qla_nvme.c | 14 ++++++++++++++
include/linux/nvme-fc-driver.h | 7 +++++++
3 files changed, 46 insertions(+)
base-commit: 92cc94adfce4683d0b421cbf59013703368aaeb9
--
2.23.1
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/2] nvme-fc: Add support for map_queues.
2021-08-23 12:56 [PATCH 0/2] qla2xxx - add nvme map_queues support Nilesh Javali
@ 2021-08-23 12:56 ` Nilesh Javali
2021-08-23 12:56 ` [PATCH 2/2] qla2xxx: Add map_queues support to nvme Nilesh Javali
2021-08-23 17:21 ` [PATCH 0/2] qla2xxx - add nvme map_queues support Sagi Grimberg
2 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2021-08-23 12:56 UTC (permalink / raw)
To: martin.petersen, linux-nvme; +Cc: linux-scsi, GR-QLogic-Storage-Upstream
From: Saurav Kashyap <skashyap@marvell.com>
NVMe FC don't have support for map queues as compared
to pci, rdma and tcp. It doesn't provide a provision to
LLDs to change the queue mapping like scsi layer. This
patch adds an option for LLDs to change the queue mapping.
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
drivers/nvme/host/fc.c | 25 +++++++++++++++++++++++++
include/linux/nvme-fc-driver.h | 7 +++++++
2 files changed, 32 insertions(+)
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index b08a61ca283f..078895809098 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -16,6 +16,7 @@
#include <linux/nvme-fc.h>
#include "fc.h"
#include <scsi/scsi_transport_fc.h>
+#include <linux/blk-mq-pci.h>
/* *************************** Data Structures/Defines ****************** */
@@ -2839,6 +2840,29 @@ nvme_fc_complete_rq(struct request *rq)
nvme_fc_ctrl_put(ctrl);
}
+static int nvme_fc_map_queues(struct blk_mq_tag_set *set)
+{
+ int i;
+ struct nvme_fc_ctrl *ctrl;
+ struct blk_mq_queue_map *map = NULL;
+
+ ctrl = set->driver_data;
+ for (i = 0; i < set->nr_maps; i++) {
+ map = &set->map[i];
+
+ if (!map->nr_queues) {
+ WARN_ON(i == HCTX_TYPE_DEFAULT);
+ continue;
+ }
+
+ /* Call LLDD map queue functionality if defined */
+ if (ctrl->lport->ops->map_queues)
+ ctrl->lport->ops->map_queues(&ctrl->lport->localport, map);
+ else
+ blk_mq_map_queues(map);
+ }
+ return 0;
+}
static const struct blk_mq_ops nvme_fc_mq_ops = {
.queue_rq = nvme_fc_queue_rq,
@@ -2847,6 +2871,7 @@ static const struct blk_mq_ops nvme_fc_mq_ops = {
.exit_request = nvme_fc_exit_request,
.init_hctx = nvme_fc_init_hctx,
.timeout = nvme_fc_timeout,
+ .map_queues = nvme_fc_map_queues,
};
static int
diff --git a/include/linux/nvme-fc-driver.h b/include/linux/nvme-fc-driver.h
index 2a38f2b477a5..cb909edb76c4 100644
--- a/include/linux/nvme-fc-driver.h
+++ b/include/linux/nvme-fc-driver.h
@@ -7,6 +7,7 @@
#define _NVME_FC_DRIVER_H 1
#include <linux/scatterlist.h>
+#include <linux/blk-mq.h>
/*
@@ -497,6 +498,8 @@ struct nvme_fc_port_template {
int (*xmt_ls_rsp)(struct nvme_fc_local_port *localport,
struct nvme_fc_remote_port *rport,
struct nvmefc_ls_rsp *ls_rsp);
+ void (*map_queues)(struct nvme_fc_local_port *localport,
+ struct blk_mq_queue_map *map);
u32 max_hw_queues;
u16 max_sgl_segments;
@@ -779,6 +782,10 @@ struct nvmet_fc_target_port {
* LS received.
* Entrypoint is Mandatory.
*
+ * @map_queues: This functions lets the driver expose the queue mapping
+ * to the block layer.
+ * Entrypoint is Optional.
+ *
* @fcp_op: Called to perform a data transfer or transmit a response.
* The nvmefc_tgt_fcp_req structure is the same LLDD-supplied
* exchange structure specified in the nvmet_fc_rcv_fcp_req() call
--
2.23.1
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] qla2xxx: Add map_queues support to nvme.
2021-08-23 12:56 [PATCH 0/2] qla2xxx - add nvme map_queues support Nilesh Javali
2021-08-23 12:56 ` [PATCH 1/2] nvme-fc: Add support for map_queues Nilesh Javali
@ 2021-08-23 12:56 ` Nilesh Javali
2021-08-23 17:21 ` [PATCH 0/2] qla2xxx - add nvme map_queues support Sagi Grimberg
2 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2021-08-23 12:56 UTC (permalink / raw)
To: martin.petersen, linux-nvme; +Cc: linux-scsi, GR-QLogic-Storage-Upstream
From: Saurav Kashyap <skashyap@marvell.com>
Add callback for map queues and use block layer
blk_mq_pci_map_queues for mapping. With this mapping
minimum 10% increase in performance is noticed.
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
drivers/scsi/qla2xxx/qla_nvme.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
index 05cad06ff165..7f9a7abc615b 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.c
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
@@ -8,6 +8,8 @@
#include <linux/delay.h>
#include <linux/nvme.h>
#include <linux/nvme-fc.h>
+#include <linux/blk-mq-pci.h>
+#include <linux/blk-mq.h>
static struct nvme_fc_port_template qla_nvme_fc_transport;
@@ -634,6 +636,17 @@ static int qla_nvme_post_cmd(struct nvme_fc_local_port *lport,
return rval;
}
+static void qla_nvme_map_queues(struct nvme_fc_local_port *lport, struct blk_mq_queue_map *map)
+{
+ int rc;
+ struct scsi_qla_host *vha = lport->private;
+
+ rc = blk_mq_pci_map_queues(map, vha->hw->pdev, vha->irq_offset);
+ if (rc)
+ ql_log(ql_log_warn, vha, 0x21de,
+ "pci map queue failed 0x%x", rc);
+}
+
static void qla_nvme_localport_delete(struct nvme_fc_local_port *lport)
{
struct scsi_qla_host *vha = lport->private;
@@ -668,6 +681,7 @@ static struct nvme_fc_port_template qla_nvme_fc_transport = {
.ls_abort = qla_nvme_ls_abort,
.fcp_io = qla_nvme_post_cmd,
.fcp_abort = qla_nvme_fcp_abort,
+ .map_queues = qla_nvme_map_queues,
.max_hw_queues = 8,
.max_sgl_segments = 1024,
.max_dif_sgl_segments = 64,
--
2.23.1
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-23 12:56 [PATCH 0/2] qla2xxx - add nvme map_queues support Nilesh Javali
2021-08-23 12:56 ` [PATCH 1/2] nvme-fc: Add support for map_queues Nilesh Javali
2021-08-23 12:56 ` [PATCH 2/2] qla2xxx: Add map_queues support to nvme Nilesh Javali
@ 2021-08-23 17:21 ` Sagi Grimberg
2021-08-24 3:38 ` Saurav Kashyap
2 siblings, 1 reply; 14+ messages in thread
From: Sagi Grimberg @ 2021-08-23 17:21 UTC (permalink / raw)
To: Nilesh Javali, martin.petersen, linux-nvme, Ming Lei
Cc: linux-scsi, GR-QLogic-Storage-Upstream
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?
CCing Ming to see if this affects his patchset.
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-23 17:21 ` [PATCH 0/2] qla2xxx - add nvme map_queues support Sagi Grimberg
@ 2021-08-24 3:38 ` Saurav Kashyap
2021-08-24 3:46 ` Ming Lei
0 siblings, 1 reply; 14+ messages in thread
From: Saurav Kashyap @ 2021-08-24 3:38 UTC (permalink / raw)
To: Sagi Grimberg, Nilesh Javali, martin.petersen, linux-nvme, Ming Lei
Cc: linux-scsi, GR-QLogic-Storage-Upstream
Hi Sagi,
Comments inline
> -----Original Message-----
> From: Sagi Grimberg <sagi@grimberg.me>
> Sent: Monday, August 23, 2021 10:51 PM
> To: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com; linux-
> nvme@lists.infradead.org; Ming Lei <ming.lei@redhat.com>
> Cc: linux-scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-
> Storage-Upstream@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.
Thanks,
~Saurav
>
> CCing Ming to see if this affects his patchset.
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-24 3:38 ` Saurav Kashyap
@ 2021-08-24 3:46 ` Ming Lei
2021-08-25 4:58 ` [EXT] " Saurav Kashyap
2021-09-14 9:31 ` Daniel Wagner
0 siblings, 2 replies; 14+ messages in thread
From: Ming Lei @ 2021-08-24 3:46 UTC (permalink / raw)
To: Saurav Kashyap
Cc: Sagi Grimberg, Nilesh Javali, martin.petersen, linux-nvme,
linux-scsi, GR-QLogic-Storage-Upstream
On Tue, Aug 24, 2021 at 03:38:24AM +0000, Saurav Kashyap wrote:
> Hi Sagi,
> Comments inline
>
> > -----Original Message-----
> > From: Sagi Grimberg <sagi@grimberg.me>
> > Sent: Monday, August 23, 2021 10:51 PM
> > To: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com; linux-
> > nvme@lists.infradead.org; Ming Lei <ming.lei@redhat.com>
> > Cc: linux-scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-
> > Storage-Upstream@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
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-24 3:46 ` Ming Lei
@ 2021-08-25 4:58 ` Saurav Kashyap
2021-09-07 9:18 ` Saurav Kashyap
2021-09-14 9:31 ` Daniel Wagner
1 sibling, 1 reply; 14+ messages in thread
From: Saurav Kashyap @ 2021-08-25 4:58 UTC (permalink / raw)
To: Ming Lei
Cc: Sagi Grimberg, Nilesh Javali, martin.petersen, linux-nvme,
linux-scsi, GR-QLogic-Storage-Upstream
Hi Ming,
Comments inline
> -----Original Message-----
> From: Ming Lei <ming.lei@redhat.com>
> Sent: Tuesday, August 24, 2021 9:17 AM
> To: Saurav Kashyap <skashyap@marvell.com>
> Cc: Sagi Grimberg <sagi@grimberg.me>; Nilesh Javali <njavali@marvell.com>;
> martin.petersen@oracle.com; linux-nvme@lists.infradead.org; linux-
> scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> Upstream@marvell.com>
> Subject: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
>
> External Email
>
> ----------------------------------------------------------------------
> On Tue, Aug 24, 2021 at 03:38:24AM +0000, Saurav Kashyap wrote:
> > Hi Sagi,
> > Comments inline
> >
> > > -----Original Message-----
> > > From: Sagi Grimberg <sagi@grimberg.me>
> > > Sent: Monday, August 23, 2021 10:51 PM
> > > To: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com;
> linux-
> > > nvme@lists.infradead.org; Ming Lei <ming.lei@redhat.com>
> > > Cc: linux-scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-
> > > Storage-Upstream@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().
Can you please elaborate on this? Is there something needs to be done from my side?
Thanks,
~Saurav
>
> [1] https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__lore.kernel.org_linux-2Dblock_YR7demOSG6MKFVAF-40T590_T_-
> 23t&d=DwIBAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=ZHZbmY_LbM3DUZK_BDO1
> OITP3ot_Vkb_5w-
> gas5TBMQ&m=CqFDnfAsZphubKXkUx5gsRF6RZ2Qe6sxWkYq4pBfFD0&s=2Nba
> EUI5eB6_R6PxW8ld1Xn2OU3_UdD6D30uvFAWhow&e=
>
>
> Thanks,
> Ming
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-25 4:58 ` [EXT] " Saurav Kashyap
@ 2021-09-07 9:18 ` Saurav Kashyap
2021-09-14 8:07 ` Saurav Kashyap
0 siblings, 1 reply; 14+ messages in thread
From: Saurav Kashyap @ 2021-09-07 9:18 UTC (permalink / raw)
To: Ming Lei, Sagi Grimberg, linux-nvme
Cc: Nilesh Javali, martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream
Hi,
Can I get a review for this patch set?
Thanks,
~Saurav
> -----Original Message-----
> From: Saurav Kashyap <skashyap@marvell.com>
> Sent: Wednesday, August 25, 2021 10:29 AM
> To: Ming Lei <ming.lei@redhat.com>
> Cc: Sagi Grimberg <sagi@grimberg.me>; Nilesh Javali <njavali@marvell.com>;
> martin.petersen@oracle.com; linux-nvme@lists.infradead.org; linux-
> scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> Upstream@marvell.com>
> Subject: RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
>
> Hi Ming,
> Comments inline
>
> > -----Original Message-----
> > From: Ming Lei <ming.lei@redhat.com>
> > Sent: Tuesday, August 24, 2021 9:17 AM
> > To: Saurav Kashyap <skashyap@marvell.com>
> > Cc: Sagi Grimberg <sagi@grimberg.me>; Nilesh Javali <njavali@marvell.com>;
> > martin.petersen@oracle.com; linux-nvme@lists.infradead.org; linux-
> > scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> > Upstream@marvell.com>
> > Subject: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > On Tue, Aug 24, 2021 at 03:38:24AM +0000, Saurav Kashyap wrote:
> > > Hi Sagi,
> > > Comments inline
> > >
> > > > -----Original Message-----
> > > > From: Sagi Grimberg <sagi@grimberg.me>
> > > > Sent: Monday, August 23, 2021 10:51 PM
> > > > To: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com;
> > linux-
> > > > nvme@lists.infradead.org; Ming Lei <ming.lei@redhat.com>
> > > > Cc: linux-scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-
> > > > Storage-Upstream@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().
>
> Can you please elaborate on this? Is there something needs to be done from my
> side?
>
> Thanks,
> ~Saurav
> >
> > [1] https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__lore.kernel.org_linux-2Dblock_YR7demOSG6MKFVAF-40T590_T_-
> >
> 23t&d=DwIBAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=ZHZbmY_LbM3DUZK_BDO1
> > OITP3ot_Vkb_5w-
> >
> gas5TBMQ&m=CqFDnfAsZphubKXkUx5gsRF6RZ2Qe6sxWkYq4pBfFD0&s=2Nba
> > EUI5eB6_R6PxW8ld1Xn2OU3_UdD6D30uvFAWhow&e=
> >
> >
> > Thanks,
> > Ming
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-09-07 9:18 ` Saurav Kashyap
@ 2021-09-14 8:07 ` Saurav Kashyap
2021-09-14 8:32 ` hch
0 siblings, 1 reply; 14+ messages in thread
From: Saurav Kashyap @ 2021-09-14 8:07 UTC (permalink / raw)
To: Ming Lei, Sagi Grimberg, linux-nvme, hch
Cc: Nilesh Javali, martin.petersen, linux-scsi,
GR-QLogic-Storage-Upstream, james.smart, axboe, kbusch
Hi Sagi/Christoph,
I haven't heard anything on this and there are no review comments on this patch set, kindly include this in nvme tree.
Thanks,
~Saurav
> -----Original Message-----
> From: Saurav Kashyap
> Sent: Tuesday, September 7, 2021 2:48 PM
> To: Ming Lei <ming.lei@redhat.com>; Sagi Grimberg <sagi@grimberg.me>;
> linux-nvme@lists.infradead.org
> Cc: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com; linux-
> scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> Upstream@marvell.com>
> Subject: RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
>
> Hi,
>
> Can I get a review for this patch set?
>
> Thanks,
> ~Saurav
>
> > -----Original Message-----
> > From: Saurav Kashyap <skashyap@marvell.com>
> > Sent: Wednesday, August 25, 2021 10:29 AM
> > To: Ming Lei <ming.lei@redhat.com>
> > Cc: Sagi Grimberg <sagi@grimberg.me>; Nilesh Javali <njavali@marvell.com>;
> > martin.petersen@oracle.com; linux-nvme@lists.infradead.org; linux-
> > scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> > Upstream@marvell.com>
> > Subject: RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
> >
> > Hi Ming,
> > Comments inline
> >
> > > -----Original Message-----
> > > From: Ming Lei <ming.lei@redhat.com>
> > > Sent: Tuesday, August 24, 2021 9:17 AM
> > > To: Saurav Kashyap <skashyap@marvell.com>
> > > Cc: Sagi Grimberg <sagi@grimberg.me>; Nilesh Javali
> <njavali@marvell.com>;
> > > martin.petersen@oracle.com; linux-nvme@lists.infradead.org; linux-
> > > scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-
> > > Upstream@marvell.com>
> > > Subject: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
> > >
> > > External Email
> > >
> > > ----------------------------------------------------------------------
> > > On Tue, Aug 24, 2021 at 03:38:24AM +0000, Saurav Kashyap wrote:
> > > > Hi Sagi,
> > > > Comments inline
> > > >
> > > > > -----Original Message-----
> > > > > From: Sagi Grimberg <sagi@grimberg.me>
> > > > > Sent: Monday, August 23, 2021 10:51 PM
> > > > > To: Nilesh Javali <njavali@marvell.com>; martin.petersen@oracle.com;
> > > linux-
> > > > > nvme@lists.infradead.org; Ming Lei <ming.lei@redhat.com>
> > > > > Cc: linux-scsi@vger.kernel.org; GR-QLogic-Storage-Upstream <GR-
> QLogic-
> > > > > Storage-Upstream@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().
> >
> > Can you please elaborate on this? Is there something needs to be done from
> my
> > side?
> >
> > Thanks,
> > ~Saurav
> > >
> > > [1] https://urldefense.proofpoint.com/v2/url?u=https-
> > > 3A__lore.kernel.org_linux-2Dblock_YR7demOSG6MKFVAF-40T590_T_-
> > >
> >
> 23t&d=DwIBAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=ZHZbmY_LbM3DUZK_BDO1
> > > OITP3ot_Vkb_5w-
> > >
> >
> gas5TBMQ&m=CqFDnfAsZphubKXkUx5gsRF6RZ2Qe6sxWkYq4pBfFD0&s=2Nba
> > > EUI5eB6_R6PxW8ld1Xn2OU3_UdD6D30uvFAWhow&e=
> > >
> > >
> > > Thanks,
> > > Ming
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-09-14 8:07 ` Saurav Kashyap
@ 2021-09-14 8:32 ` hch
2021-09-22 4:28 ` Saurav Kashyap
2021-10-13 5:09 ` Saurav Kashyap
0 siblings, 2 replies; 14+ messages in thread
From: hch @ 2021-09-14 8:32 UTC (permalink / raw)
To: Saurav Kashyap
Cc: Ming Lei, Sagi Grimberg, linux-nvme, hch, Nilesh Javali,
martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream,
james.smart, axboe, kbusch
On Tue, Sep 14, 2021 at 08:07:02AM +0000, Saurav Kashyap wrote:
> Hi Sagi/Christoph,
>
> I haven't heard anything on this and there are no review comments on this patch set, kindly include this in nvme tree.
>
I'll queue this up once the 5.16 tree opens unless James voices any
objections.
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-08-24 3:46 ` Ming Lei
2021-08-25 4:58 ` [EXT] " Saurav Kashyap
@ 2021-09-14 9:31 ` Daniel Wagner
1 sibling, 0 replies; 14+ messages in thread
From: Daniel Wagner @ 2021-09-14 9:31 UTC (permalink / raw)
To: Ming Lei
Cc: Saurav Kashyap, Sagi Grimberg, Nilesh Javali, martin.petersen,
linux-nvme, linux-scsi, GR-QLogic-Storage-Upstream
On Tue, Aug 24, 2021 at 11:46:32AM +0800, Ming Lei wrote:
> 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
Ming, do you have any ideas/suggestions how to address it? I can work
on it.
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-09-14 8:32 ` hch
@ 2021-09-22 4:28 ` Saurav Kashyap
2021-10-13 5:09 ` Saurav Kashyap
1 sibling, 0 replies; 14+ messages in thread
From: Saurav Kashyap @ 2021-09-22 4:28 UTC (permalink / raw)
To: hch
Cc: Ming Lei, Sagi Grimberg, linux-nvme, Nilesh Javali,
martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream,
james.smart, axboe, kbusch
> On Tue, Sep 14, 2021 at 08:07:02AM +0000, Saurav Kashyap wrote:
> > Hi Sagi/Christoph,
> >
> > I haven't heard anything on this and there are no review comments on this
> patch set, kindly include this in nvme tree.
> >
>
> I'll queue this up once the 5.16 tree opens unless James voices any
> objections.
Sounds good.
Thanks,
~Saurav
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-09-14 8:32 ` hch
2021-09-22 4:28 ` Saurav Kashyap
@ 2021-10-13 5:09 ` Saurav Kashyap
2021-10-13 5:11 ` hch
1 sibling, 1 reply; 14+ messages in thread
From: Saurav Kashyap @ 2021-10-13 5:09 UTC (permalink / raw)
To: hch
Cc: Ming Lei, Sagi Grimberg, linux-nvme, Nilesh Javali,
martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream,
james.smart, axboe, kbusch
Hi Christoph,
> > Hi Sagi/Christoph,
> >
> > I haven't heard anything on this and there are no review comments on this
> patch set, kindly include this in nvme tree.
> >
>
> I'll queue this up once the 5.16 tree opens unless James voices any
> objections.
Any updates on this one?
Thanks,
~Saurav
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [EXT] Re: [PATCH 0/2] qla2xxx - add nvme map_queues support
2021-10-13 5:09 ` Saurav Kashyap
@ 2021-10-13 5:11 ` hch
0 siblings, 0 replies; 14+ messages in thread
From: hch @ 2021-10-13 5:11 UTC (permalink / raw)
To: Saurav Kashyap
Cc: hch, Ming Lei, Sagi Grimberg, linux-nvme, Nilesh Javali,
martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream,
james.smart, axboe, kbusch
On Wed, Oct 13, 2021 at 05:09:04AM +0000, Saurav Kashyap wrote:
> Hi Christoph,
>
> > > Hi Sagi/Christoph,
> > >
> > > I haven't heard anything on this and there are no review comments on this
> > patch set, kindly include this in nvme tree.
> > >
> >
> > I'll queue this up once the 5.16 tree opens unless James voices any
> > objections.
>
> Any updates on this one?
http://git.infradead.org/nvme.git/commitdiff/062b5291ef352d6198c6c8414c71ae2debd06cf7
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2021-10-13 5:11 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-23 12:56 [PATCH 0/2] qla2xxx - add nvme map_queues support Nilesh Javali
2021-08-23 12:56 ` [PATCH 1/2] nvme-fc: Add support for map_queues Nilesh Javali
2021-08-23 12:56 ` [PATCH 2/2] qla2xxx: Add map_queues support to nvme Nilesh Javali
2021-08-23 17:21 ` [PATCH 0/2] qla2xxx - add nvme map_queues support Sagi Grimberg
2021-08-24 3:38 ` Saurav Kashyap
2021-08-24 3:46 ` Ming Lei
2021-08-25 4:58 ` [EXT] " Saurav Kashyap
2021-09-07 9:18 ` Saurav Kashyap
2021-09-14 8:07 ` Saurav Kashyap
2021-09-14 8:32 ` hch
2021-09-22 4:28 ` Saurav Kashyap
2021-10-13 5:09 ` Saurav Kashyap
2021-10-13 5:11 ` hch
2021-09-14 9:31 ` Daniel Wagner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).