Thread (23 messages) 23 messages, 3 authors, 2021-09-08

Re: [PATCH 07/10] qla2xxx: Call process_response_queue() in Tx path

From: Himanshu Madhani <hidden>
Date: 2021-09-08 14:08:28
Also in: linux-nvme

On Sep 8, 2021, at 2:28 AM, Nilesh Javali [off-list ref] wrote:

From: Shreyas Deodhar <redacted>

Process responses in Tx path if any available for better performance.
I’ll let you decide if you want to add this to all stable or not, but if you decide this needs to go into stable then add

Fixes: e84067d743010 ("scsi: qla2xxx: Add FC-NVMe F/W initialization and transport registration”)
Cc: stable@vger.kernel.org
quoted hunk ↗ jump to hunk
Signed-off-by: Shreyas Deodhar<redacted>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
drivers/scsi/qla2xxx/qla_nvme.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
index 877b2b625020..0ae1e081cb03 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.c
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
@@ -399,6 +399,7 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
	uint16_t	avail_dsds;
	struct dsd64	*cur_dsd;
	struct req_que *req = NULL;
+	struct rsp_que *rsp = NULL;
	struct scsi_qla_host *vha = sp->fcport->vha;
	struct qla_hw_data *ha = vha->hw;
	struct qla_qpair *qpair = sp->qpair;
@@ -410,6 +411,7 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
	/* Setup qpair pointers */
	req = qpair->req;
+	rsp = qpair->rsp;
	tot_dsds = fd->sg_cnt;

	/* Acquire qpair specific lock */
@@ -571,6 +573,10 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
	/* Set chip new ring index. */
	wrt_reg_dword(req->req_q_in, req->ring_index);

+	if (vha->flags.process_response_queue &&
+	    rsp->ring_ptr->signature != RESPONSE_PROCESSED)
+		qla24xx_process_response_queue(vha, rsp);
+
queuing_error:
	spin_unlock_irqrestore(&qpair->qp_lock, flags);

-- 
2.19.0.rc0
Reviewed-by: Himanshu Madhani <redacted>

--
Himanshu Madhani	 Oracle Linux Engineering
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help