Skip to content

Commit d5f76c3

Browse files
author
Izabela Bakollari
committed
net: atlantic: use irq_update_affinity_hint()
JIRA: https://issues.redhat.com/browse/RHEL-73855 JIRA: https://issues.redhat.com/browse/RHEL-76480 commit 2cd7874 Author: Mohammad Heib <mheib@redhat.com> Date: Thu Nov 7 14:07:39 2024 +0200 net: atlantic: use irq_update_affinity_hint() irq_set_affinity_hint() is deprecated, Use irq_update_affinity_hint() instead. This removes the side-effect of actually applying the affinity. The driver does not really need to worry about spreading its IRQs across CPUs. The core code already takes care of that. when the driver applies the affinities by itself, it breaks the users' expectations: 1. The user configures irqbalance with IRQBALANCE_BANNED_CPULIST in order to prevent IRQs from being moved to certain CPUs that run a real-time workload. 2. atlantic device reopening will resets the affinity in aq_ndev_open(). 3. atlantic has no idea about irqbalance's config, so it may move an IRQ to a banned CPU. The real-time workload suffers unacceptable latency. Signed-off-by: Mohammad Heib <mheib@redhat.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20241107120739.415743-1-mheib@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Izabela Bakollari <ibakolla@redhat.com>
1 parent a3845e4 commit d5f76c3

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ int aq_pci_func_alloc_irq(struct aq_nic_s *self, unsigned int i,
162162
self->msix_entry_mask |= (1 << i);
163163

164164
if (pdev->msix_enabled && affinity_mask)
165-
irq_set_affinity_hint(pci_irq_vector(pdev, i),
166-
affinity_mask);
165+
irq_update_affinity_hint(pci_irq_vector(pdev, i),
166+
affinity_mask);
167167
}
168168

169169
return err;
@@ -187,7 +187,7 @@ void aq_pci_func_free_irqs(struct aq_nic_s *self)
187187
continue;
188188

189189
if (pdev->msix_enabled)
190-
irq_set_affinity_hint(pci_irq_vector(pdev, i), NULL);
190+
irq_update_affinity_hint(pci_irq_vector(pdev, i), NULL);
191191
free_irq(pci_irq_vector(pdev, i), irq_data);
192192
self->msix_entry_mask &= ~(1U << i);
193193
}

0 commit comments

Comments
 (0)