diff mbox series

[v5,06/14] RDMA/irdma: Use irq_update_affinity_hint

Message ID 20210720232624.1493424-7-nitesh@redhat.com
State Superseded
Headers show
Series genirq: Cleanup the abuse of irq_set_affinity_hint() | expand

Commit Message

Nitesh Narayan Lal July 20, 2021, 11:26 p.m. UTC
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(-)

Comments

Nikolova, Tatyana E July 22, 2021, 6:25 p.m. UTC | #1
> -----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 mbox series

Patch

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;