Commit 5fd11085 authored by James Smart's avatar James Smart Committed by Martin K. Petersen

scsi: lpfc: Streamline NVME Initiator WQE setup

To reduce latency when initializing WQE content, create templates for the
most common wqes. This reduces the number of operations taken to set the
content. It's not a lot of speed up, but every bit helps.

This patch updates the NVME initiator path.

[mkp: fixed typo]
Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 205e8240
...@@ -565,6 +565,7 @@ void lpfc_nvme_mod_param_dep(struct lpfc_hba *phba); ...@@ -565,6 +565,7 @@ void lpfc_nvme_mod_param_dep(struct lpfc_hba *phba);
void lpfc_nvme_abort_fcreq_cmpl(struct lpfc_hba *phba, void lpfc_nvme_abort_fcreq_cmpl(struct lpfc_hba *phba,
struct lpfc_iocbq *cmdiocb, struct lpfc_iocbq *cmdiocb,
struct lpfc_wcqe_complete *abts_cmpl); struct lpfc_wcqe_complete *abts_cmpl);
void lpfc_nvme_cmd_template(void);
extern int lpfc_enable_nvmet_cnt; extern int lpfc_enable_nvmet_cnt;
extern unsigned long long lpfc_enable_nvmet[]; extern unsigned long long lpfc_enable_nvmet[];
extern int lpfc_no_hba_reset_cnt; extern int lpfc_no_hba_reset_cnt;
......
...@@ -4183,6 +4183,7 @@ struct wqe_common { ...@@ -4183,6 +4183,7 @@ struct wqe_common {
#define wqe_iod_SHIFT 13 #define wqe_iod_SHIFT 13
#define wqe_iod_MASK 0x00000001 #define wqe_iod_MASK 0x00000001
#define wqe_iod_WORD word10 #define wqe_iod_WORD word10
#define LPFC_WQE_IOD_NONE 0
#define LPFC_WQE_IOD_WRITE 0 #define LPFC_WQE_IOD_WRITE 0
#define LPFC_WQE_IOD_READ 1 #define LPFC_WQE_IOD_READ 1
#define wqe_dbde_SHIFT 14 #define wqe_dbde_SHIFT 14
......
...@@ -12583,6 +12583,7 @@ lpfc_init(void) ...@@ -12583,6 +12583,7 @@ lpfc_init(void)
fc_release_transport(lpfc_transport_template); fc_release_transport(lpfc_transport_template);
return -ENOMEM; return -ENOMEM;
} }
lpfc_nvme_cmd_template();
/* Initialize in case vector mapping is needed */ /* Initialize in case vector mapping is needed */
lpfc_used_cpu = NULL; lpfc_used_cpu = NULL;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment