scsi: qla2xxx: Limit interrupt vectors to number of CPUs

Driver created too many QPairs(126) with 28xx adapter.  Limit to the number
of CPUs to minimize wasted resources.

Link: https://lore.kernel.org/r/20201202132312.19966-4-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Quinn Tran 2020-12-02 05:23:00 -08:00 committed by Martin K. Petersen
parent c1599657d4
commit a6dcfe0848

View File

@ -3952,10 +3952,12 @@ qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
if (USER_CTRL_IRQ(ha) || !ha->mqiobase) { if (USER_CTRL_IRQ(ha) || !ha->mqiobase) {
/* user wants to control IRQ setting for target mode */ /* user wants to control IRQ setting for target mode */
ret = pci_alloc_irq_vectors(ha->pdev, min_vecs, ret = pci_alloc_irq_vectors(ha->pdev, min_vecs,
ha->msix_count, PCI_IRQ_MSIX); min((u16)ha->msix_count, (u16)num_online_cpus()),
PCI_IRQ_MSIX);
} else } else
ret = pci_alloc_irq_vectors_affinity(ha->pdev, min_vecs, ret = pci_alloc_irq_vectors_affinity(ha->pdev, min_vecs,
ha->msix_count, PCI_IRQ_MSIX | PCI_IRQ_AFFINITY, min((u16)ha->msix_count, (u16)num_online_cpus()),
PCI_IRQ_MSIX | PCI_IRQ_AFFINITY,
&desc); &desc);
if (ret < 0) { if (ret < 0) {