diff options
author | James Smart <jsmart2021@gmail.com> | 2018-07-31 17:23:22 -0700 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-08-02 15:45:19 -0400 |
commit | 2a5b7d626ed2256fd0ef0e799ebc6ef47b7bd283 (patch) | |
tree | 63fb5737e68253ae59db6fa2d5a46fab21b90b02 /drivers/scsi/lpfc/lpfc_scsi.h | |
parent | 93a3922da428ec0752e8b2ab00c42dadbbf805a9 (diff) | |
download | blackbird-op-linux-2a5b7d626ed2256fd0ef0e799ebc6ef47b7bd283.tar.gz blackbird-op-linux-2a5b7d626ed2256fd0ef0e799ebc6ef47b7bd283.zip |
scsi: lpfc: Limit tracking of tgt queue depth in fast path
Performance is affected when target queue depth is tracked. An atomic
counter is incremented on the submission path which competes with it being
decremented on the completion path. In addition, multiple CPUs can
simultaniously be manipulating this counter for the same ndlp.
Reduce the overhead by only performing the target increment/decrement when
the target queue depth is less than the overall adapter depth, thus is
actually meaningful.
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_scsi.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.h b/drivers/scsi/lpfc/lpfc_scsi.h index c38e4da71f5f..cc99859774ff 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.h +++ b/drivers/scsi/lpfc/lpfc_scsi.h @@ -134,11 +134,13 @@ struct lpfc_scsi_buf { struct list_head list; struct scsi_cmnd *pCmd; struct lpfc_rport_data *rdata; + struct lpfc_nodelist *ndlp; uint32_t timeout; uint16_t flags; /* TBD convert exch_busy to flags */ #define LPFC_SBUF_XBUSY 0x1 /* SLI4 hba reported XB on WCQE cmpl */ +#define LPFC_SBUF_BUMP_QDEPTH 0x8 /* bumped queue depth counter */ uint16_t exch_busy; /* SLI4 hba reported XB on complete WCQE */ uint16_t status; /* From IOCB Word 7- ulpStatus */ uint32_t result; /* From IOCB Word 4. */ |