Message ID | 20210720232624.1493424-8-nitesh@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | genirq: Cleanup the abuse of irq_set_affinity_hint() | expand |
> -----Original Message----- > From: Nitesh Narayan Lal <nitesh@redhat.com> > Sent: Tuesday, July 20, 2021 4:26 PM > To: linux-kernel@vger.kernel.org; linux-scsi@vger.kernel.org; intel-wired- > lan@lists.osuosl.org; netdev@vger.kernel.org; linux-api@vger.kernel.org; > linux-pci@vger.kernel.org; tglx@linutronix.de; jesse.brandeburg@intel.com; > robin.murphy@arm.com; mtosatti@redhat.com; mingo@kernel.org; > jbrandeb@kernel.org; frederic@kernel.org; juri.lelli@redhat.com; > abelits@marvell.com; bhelgaas@google.com; rostedt@goodmis.org; > peterz@infradead.org; davem@davemloft.net; akpm@linux-foundation.org; > sfr@canb.auug.org.au; stephen@networkplumber.org; > rppt@linux.vnet.ibm.com; chris.friesen@windriver.com; maz@kernel.org; > nhorman@tuxdriver.com; pjwaskiewicz@gmail.com; > sassmann@redhat.com; thenzl@redhat.com; > kashyap.desai@broadcom.com; sumit.saxena@broadcom.com; > shivasharan.srikanteshwara@broadcom.com; > sathya.prakash@broadcom.com; sreekanth.reddy@broadcom.com; > suganath-prabu.subramani@broadcom.com; james.smart@broadcom.com; > dick.kennedy@broadcom.com; jkc@redhat.com; faisal.latif@intel.com; > shiraz.saleem@intel.com; tariqt@nvidia.com; ahleihel@redhat.com; > kheib@redhat.com; borisp@nvidia.com; saeedm@nvidia.com; Christian > Benvenuti (benve) <benve@cisco.com>; govind@gmx.com; > jassisinghbrar@gmail.com; ajit.khaparde@broadcom.com; > sriharsha.basavapatna@broadcom.com; somnath.kotur@broadcom.com; > nilal@redhat.com; tatyana.e.nikolova@intel.com; mustafa.ismail@intel.com; > ahs3@redhat.com; leonro@nvidia.com; chandrakanth.patil@broadcom.com; > bjorn.andersson@linaro.org; chunkuang.hu@kernel.org; > yongqiang.niu@mediatek.com; baolin.wang7@gmail.com; > poros@redhat.com; minlei@redhat.com; emilne@redhat.com; > jejb@linux.ibm.com; martin.petersen@oracle.com; _govind@gmx.com; > kabel@kernel.org; viresh.kumar@linaro.org; Tushar.Khandelwal@arm.com; > kuba@kernel.org > Subject: [PATCH v5 07/14] enic: Use irq_update_affinity_hint > > The driver uses irq_set_affinity_hint() to update the affinity_hint mask that > is consumed by the userspace to distribute the interrupts. However, under > the hood irq_set_affinity_hint() also applies the provided cpumask (if not > NULL) as the affinity for the given interrupt which is an undocumented side > effect. > > To remove this side effect irq_set_affinity_hint() has been marked as > deprecated and new interfaces have been introduced. Hence, replace the > irq_set_affinity_hint() with the new interface irq_update_affinity_hint() that > only updates the affinity_hint pointer. > > Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> Thanks Nitesh for the patch. Reviewed-by: Christian Benvenuti <benve@cisco.com>
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index d0a8f7106958..97eb5bd62855 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -150,10 +150,10 @@ static void enic_set_affinity_hint(struct enic *enic) !cpumask_available(enic->msix[i].affinity_mask) || cpumask_empty(enic->msix[i].affinity_mask)) continue; - err = irq_set_affinity_hint(enic->msix_entry[i].vector, - enic->msix[i].affinity_mask); + err = irq_update_affinity_hint(enic->msix_entry[i].vector, + enic->msix[i].affinity_mask); if (err) - netdev_warn(enic->netdev, "irq_set_affinity_hint failed, err %d\n", + netdev_warn(enic->netdev, "irq_update_affinity_hint failed, err %d\n", err); } @@ -173,7 +173,7 @@ static void enic_unset_affinity_hint(struct enic *enic) int i; for (i = 0; i < enic->intr_count; i++) - irq_set_affinity_hint(enic->msix_entry[i].vector, NULL); + irq_update_affinity_hint(enic->msix_entry[i].vector, NULL); } static int enic_udp_tunnel_set_port(struct net_device *netdev,
The driver uses irq_set_affinity_hint() to update the affinity_hint mask that is consumed by the userspace to distribute the interrupts. However, under the hood irq_set_affinity_hint() also applies the provided cpumask (if not NULL) as the affinity for the given interrupt which is an undocumented side effect. To remove this side effect irq_set_affinity_hint() has been marked as deprecated and new interfaces have been introduced. Hence, replace the irq_set_affinity_hint() with the new interface irq_update_affinity_hint() that only updates the affinity_hint pointer. Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com> --- drivers/net/ethernet/cisco/enic/enic_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)