[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210903152430.244937-14-nitesh@redhat.com>
Date: Fri, 3 Sep 2021 11:24:29 -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 13/14] net/mlx5: Use irq_set_affinity_and_hint
The driver uses irq_set_affinity_hint() to update the affinity_hint mask
that is consumed by the userspace to distribute the interrupts and to apply
the provided mask as the affinity for the mlx5 interrupts. However,
irq_set_affinity_hint() applying the provided cpumask as an affinity for
the interrupt 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_set_affinity_and_hint()
where the provided mask needs to be applied as the affinity and
affinity_hint pointer needs to be set and replace with
irq_update_affinity_hint() where only affinity_hint needs to be updated.
Signed-off-by: Nitesh Narayan Lal <nitesh@...hat.com>
Reviewed-by: Leon Romanovsky <leonro@...dia.com>
---
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
index c79a10b3454d..1c96d136dbac 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
@@ -143,11 +143,11 @@ static void irq_release(struct mlx5_irq *irq)
struct mlx5_irq_pool *pool = irq->pool;
xa_erase(&pool->irqs, irq->index);
- /* free_irq requires that affinity and rmap will be cleared
+ /* free_irq requires that affinity_hint and rmap will be cleared
* before calling it. This is why there is asymmetry with set_rmap
* which should be called after alloc_irq but before request_irq.
*/
- irq_set_affinity_hint(irq->irqn, NULL);
+ irq_update_affinity_hint(irq->irqn, NULL);
free_cpumask_var(irq->mask);
free_irq(irq->irqn, &irq->nh);
kfree(irq);
@@ -306,7 +306,7 @@ static struct mlx5_irq *irq_pool_create_irq(struct mlx5_irq_pool *pool,
if (IS_ERR(irq))
return irq;
cpumask_copy(irq->mask, affinity);
- irq_set_affinity_hint(irq->irqn, irq->mask);
+ irq_set_affinity_and_hint(irq->irqn, irq->mask);
return irq;
}
@@ -386,7 +386,7 @@ irq_pool_request_vector(struct mlx5_irq_pool *pool, int vecidx,
if (IS_ERR(irq) || !affinity)
goto unlock;
cpumask_copy(irq->mask, affinity);
- irq_set_affinity_hint(irq->irqn, irq->mask);
+ irq_set_affinity_and_hint(irq->irqn, irq->mask);
unlock:
mutex_unlock(&pool->lock);
return irq;
--
2.27.0
Powered by blists - more mailing lists