scsi: lpfc: fix lpfc_nvmet_mrq to be bound by hdw queue count
Currently, lpfc_nvmet_mrq is always scaled back to the min(lpfc_nvmet_mrq, lpfc_irq_chann). There's no reason to reduce it to the number of interrupt vectors. Rather, it should be scaled down based on the number of hardware queues for the system (if lower than max of 16). Change scaling to use hardware queue count rather than interrupt vector count. Link: https://lore.kernel.org/r/20191018211832.7917-2-jsmart2021@gmail.com Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
e519a34c29
commit
97a9ed3b3a
@@ -8630,8 +8630,8 @@ lpfc_sli4_queue_verify(struct lpfc_hba *phba)
|
||||
*/
|
||||
|
||||
if (phba->nvmet_support) {
|
||||
if (phba->cfg_irq_chann < phba->cfg_nvmet_mrq)
|
||||
phba->cfg_nvmet_mrq = phba->cfg_irq_chann;
|
||||
if (phba->cfg_hdw_queue < phba->cfg_nvmet_mrq)
|
||||
phba->cfg_nvmet_mrq = phba->cfg_hdw_queue;
|
||||
if (phba->cfg_nvmet_mrq > LPFC_NVMET_MRQ_MAX)
|
||||
phba->cfg_nvmet_mrq = LPFC_NVMET_MRQ_MAX;
|
||||
}
|
||||
@@ -11033,8 +11033,6 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba)
|
||||
phba->cfg_irq_chann, vectors);
|
||||
if (phba->cfg_irq_chann > vectors)
|
||||
phba->cfg_irq_chann = vectors;
|
||||
if (phba->nvmet_support && (phba->cfg_nvmet_mrq > vectors))
|
||||
phba->cfg_nvmet_mrq = vectors;
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
Reference in New Issue
Block a user