[PATCH 07/10] qla2xxx: Call process_response_queue() in Tx path
Himanshu Madhani
himanshu.madhani at oracle.com
Wed Sep 8 07:08:06 PDT 2021
> On Sep 8, 2021, at 2:28 AM, Nilesh Javali <njavali at marvell.com> wrote:
>
> From: Shreyas Deodhar <sdeodhar at marvell.com>
>
> 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 at vger.kernel.org
> Signed-off-by: Shreyas Deodhar<sdeodhar at marvell.com>
> Signed-off-by: Nilesh Javali <njavali at 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 <himanshu.madhani at oracle.com>
--
Himanshu Madhani Oracle Linux Engineering
More information about the Linux-nvme
mailing list