Message ID | 20210720232624.1493424-7-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 6: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; Brandeburg, Jesse > <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; Latif, Faisal > <faisal.latif@intel.com>; Saleem, Shiraz <shiraz.saleem@intel.com>; > tariqt@nvidia.com; ahleihel@redhat.com; kheib@redhat.com; > borisp@nvidia.com; saeedm@nvidia.com; benve@cisco.com; > govind@gmx.com; jassisinghbrar@gmail.com; > ajit.khaparde@broadcom.com; sriharsha.basavapatna@broadcom.com; > somnath.kotur@broadcom.com; nilal@redhat.com; Nikolova, Tatyana E > <tatyana.e.nikolova@intel.com>; Ismail, Mustafa > <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 06/14] RDMA/irdma: 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> > --- > drivers/infiniband/hw/irdma/hw.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/hw/irdma/hw.c > b/drivers/infiniband/hw/irdma/hw.c > index 7afb8a6a0526..ec8de708a4df 100644 > --- a/drivers/infiniband/hw/irdma/hw.c > +++ b/drivers/infiniband/hw/irdma/hw.c > @@ -537,7 +537,7 @@ static void irdma_destroy_irq(struct irdma_pci_f *rf, > struct irdma_sc_dev *dev = &rf->sc_dev; > > dev->irq_ops->irdma_dis_irq(dev, msix_vec->idx); > - irq_set_affinity_hint(msix_vec->irq, NULL); > + irq_update_affinity_hint(msix_vec->irq, NULL); > free_irq(msix_vec->irq, dev_id); > } > > @@ -1087,7 +1087,7 @@ irdma_cfg_ceq_vector(struct irdma_pci_f *rf, > struct irdma_ceq *iwceq, > } > cpumask_clear(&msix_vec->mask); > cpumask_set_cpu(msix_vec->cpu_affinity, &msix_vec->mask); > - irq_set_affinity_hint(msix_vec->irq, &msix_vec->mask); > + irq_update_affinity_hint(msix_vec->irq, &msix_vec->mask); > if (status) { > ibdev_dbg(&rf->iwdev->ibdev, "ERR: ceq irq config fail\n"); > return IRDMA_ERR_CFG; > -- > 2.27.0 Acked-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
diff --git a/drivers/infiniband/hw/irdma/hw.c b/drivers/infiniband/hw/irdma/hw.c index 7afb8a6a0526..ec8de708a4df 100644 --- a/drivers/infiniband/hw/irdma/hw.c +++ b/drivers/infiniband/hw/irdma/hw.c @@ -537,7 +537,7 @@ static void irdma_destroy_irq(struct irdma_pci_f *rf, struct irdma_sc_dev *dev = &rf->sc_dev; dev->irq_ops->irdma_dis_irq(dev, msix_vec->idx); - irq_set_affinity_hint(msix_vec->irq, NULL); + irq_update_affinity_hint(msix_vec->irq, NULL); free_irq(msix_vec->irq, dev_id); } @@ -1087,7 +1087,7 @@ irdma_cfg_ceq_vector(struct irdma_pci_f *rf, struct irdma_ceq *iwceq, } cpumask_clear(&msix_vec->mask); cpumask_set_cpu(msix_vec->cpu_affinity, &msix_vec->mask); - irq_set_affinity_hint(msix_vec->irq, &msix_vec->mask); + irq_update_affinity_hint(msix_vec->irq, &msix_vec->mask); if (status) { ibdev_dbg(&rf->iwdev->ibdev, "ERR: ceq irq config fail\n"); return IRDMA_ERR_CFG;
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/infiniband/hw/irdma/hw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)