[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210903152430.244937-12-nitesh@redhat.com>
Date: Fri, 3 Sep 2021 11:24:27 -0400
From: Nitesh Narayan Lal <nitesh@...hat.com>
To: linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
linux-scsi@...r.kernel.org, netdev@...r.kernel.org,
davem@...emloft.net, ajit.khaparde@...adcom.com,
sriharsha.basavapatna@...adcom.com, somnath.kotur@...adcom.com,
huangguangbin2@...wei.com, huangdaode@...wei.com,
mtosatti@...hat.com, juri.lelli@...hat.com, frederic@...nel.org,
abelits@...vell.com, bhelgaas@...gle.com, rostedt@...dmis.org,
peterz@...radead.org
Cc: nilal@...hat.com, jesse.brandeburg@...el.com, robin.murphy@....com,
mingo@...nel.org, jbrandeb@...nel.org, akpm@...uxfoundation.org,
sfr@...b.auug.org.au, stephen@...workplumber.org,
rppt@...ux.vnet.ibm.com, chris.friesen@...driver.com,
maz@...nel.org, nhorman@...driver.com, pjwaskiewicz@...il.com,
sassmann@...hat.com, thenzl@...hat.com, james.smart@...adcom.com,
dick.kennedy@...adcom.com, jkc@...hat.com, faisal.latif@...el.com,
shiraz.saleem@...el.com, tariqt@...dia.com, ahleihel@...hat.com,
kheib@...hat.com, borisp@...dia.com, saeedm@...dia.com,
tatyana.e.nikolova@...el.com, mustafa.ismail@...el.com,
ahs3@...hat.com, leonro@...dia.com,
chandrakanth.patil@...adcom.com, bjorn.andersson@...aro.org,
chunkuang.hu@...nel.org, yongqiang.niu@...iatek.com,
baolin.wang7@...il.com, poros@...hat.com, minlei@...hat.com,
emilne@...hat.com, jejb@...ux.ibm.com, martin.petersen@...cle.com,
kabel@...nel.org, viresh.kumar@...aro.org, kuba@...nel.org,
kashyap.desai@...adcom.com, sumit.saxena@...adcom.com,
shivasharan.srikanteshwara@...adcom.com,
sathya.prakash@...adcom.com, sreekanth.reddy@...adcom.com,
suganath-prabu.subramani@...adcom.com, tglx@...utronix.de,
ley.foon.tan@...el.com, jbrunet@...libre.com,
johannes@...solutions.net, snelson@...sando.io,
lewis.hanly@...rochip.com, benve@...co.com, _govind@....com,
jassisinghbrar@...il.com
Subject: [PATCH v6 11/14] scsi: lpfc: Use irq_set_affinity
The driver uses irq_set_affinity_hint to set the affinity for the lpfc
interrupts to a mask corresponding to the local NUMA node to avoid
performance overhead on AMD architectures.
However, irq_set_affinity_hint() setting the affinity is an undocumented
side effect that this function also sets the affinity under the hood.
To remove this side effect irq_set_affinity_hint() has been marked as
deprecated and new interfaces have been introduced.
Also, as per the commit dcaa21367938 ("scsi: lpfc: Change default IRQ model
on AMD architectures"):
"On AMD architecture, revert the irq allocation to the normal style
(non-managed) and then use irq_set_affinity_hint() to set the cpu affinity
and disable user-space rebalancing."
we don't really need to set the affinity_hint as user-space rebalancing for
the lpfc interrupts is not desired.
Hence, replace the irq_set_affinity_hint() with irq_set_affinity() which
only applies the affinity for the interrupts.
Signed-off-by: Nitesh Narayan Lal <nitesh@...hat.com>
Reviewed-by: James Smart <jsmart2021@...il.com>
---
drivers/scsi/lpfc/lpfc_init.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 0ec322f0e3cb..5d761ad642a5 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -12617,7 +12617,7 @@ lpfc_irq_set_aff(struct lpfc_hba_eq_hdl *eqhdl, unsigned int cpu)
cpumask_clear(&eqhdl->aff_mask);
cpumask_set_cpu(cpu, &eqhdl->aff_mask);
irq_set_status_flags(eqhdl->irq, IRQ_NO_BALANCING);
- irq_set_affinity_hint(eqhdl->irq, &eqhdl->aff_mask);
+ irq_set_affinity(eqhdl->irq, &eqhdl->aff_mask);
}
/**
@@ -12906,7 +12906,6 @@ lpfc_sli4_enable_msix(struct lpfc_hba *phba)
for (--index; index >= 0; index--) {
eqhdl = lpfc_get_eq_hdl(index);
lpfc_irq_clear_aff(eqhdl);
- irq_set_affinity_hint(eqhdl->irq, NULL);
free_irq(eqhdl->irq, eqhdl);
}
@@ -13067,7 +13066,6 @@ lpfc_sli4_disable_intr(struct lpfc_hba *phba)
for (index = 0; index < phba->cfg_irq_chann; index++) {
eqhdl = lpfc_get_eq_hdl(index);
lpfc_irq_clear_aff(eqhdl);
- irq_set_affinity_hint(eqhdl->irq, NULL);
free_irq(eqhdl->irq, eqhdl);
}
} else {
--
2.27.0
Powered by blists - more mailing lists