mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-18 05:06:31 +00:00
qla2x00t-32gbit: Call process_response_queue() in Tx path
Process responses in Tx path if any available for better performance. Link: https://lore.kernel.org/r/20210908164622.19240-8-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Shreyas Deodhar <sdeodhar@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> [ commit 38c61709e662 upstream ]
This commit is contained in:
@@ -412,6 +412,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;
|
||||
@@ -423,6 +424,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 */
|
||||
@@ -584,6 +586,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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user