mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00
net: ena: use napi's aRFS rmap notifers
Use the core's rmap notifiers and delete our own. Acked-by: David Arinzon <darinzon@amazon.com> Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com> Link: https://patch.msgid.link/20250224232228.990783-3-ahmed.zaki@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
bd7c00605e
commit
de340d8206
1 changed files with 1 additions and 42 deletions
|
@ -5,9 +5,6 @@
|
|||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#ifdef CONFIG_RFS_ACCEL
|
||||
#include <linux/cpu_rmap.h>
|
||||
#endif /* CONFIG_RFS_ACCEL */
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
@ -162,30 +159,6 @@ int ena_xmit_common(struct ena_adapter *adapter,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ena_init_rx_cpu_rmap(struct ena_adapter *adapter)
|
||||
{
|
||||
#ifdef CONFIG_RFS_ACCEL
|
||||
u32 i;
|
||||
int rc;
|
||||
|
||||
adapter->netdev->rx_cpu_rmap = alloc_irq_cpu_rmap(adapter->num_io_queues);
|
||||
if (!adapter->netdev->rx_cpu_rmap)
|
||||
return -ENOMEM;
|
||||
for (i = 0; i < adapter->num_io_queues; i++) {
|
||||
int irq_idx = ENA_IO_IRQ_IDX(i);
|
||||
|
||||
rc = irq_cpu_rmap_add(adapter->netdev->rx_cpu_rmap,
|
||||
pci_irq_vector(adapter->pdev, irq_idx));
|
||||
if (rc) {
|
||||
free_irq_cpu_rmap(adapter->netdev->rx_cpu_rmap);
|
||||
adapter->netdev->rx_cpu_rmap = NULL;
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_RFS_ACCEL */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ena_init_io_rings_common(struct ena_adapter *adapter,
|
||||
struct ena_ring *ring, u16 qid)
|
||||
{
|
||||
|
@ -1596,7 +1569,7 @@ static int ena_enable_msix(struct ena_adapter *adapter)
|
|||
adapter->num_io_queues = irq_cnt - ENA_ADMIN_MSIX_VEC;
|
||||
}
|
||||
|
||||
if (ena_init_rx_cpu_rmap(adapter))
|
||||
if (netif_enable_cpu_rmap(adapter->netdev, adapter->num_io_queues))
|
||||
netif_warn(adapter, probe, adapter->netdev,
|
||||
"Failed to map IRQs to CPUs\n");
|
||||
|
||||
|
@ -1742,13 +1715,6 @@ static void ena_free_io_irq(struct ena_adapter *adapter)
|
|||
struct ena_irq *irq;
|
||||
int i;
|
||||
|
||||
#ifdef CONFIG_RFS_ACCEL
|
||||
if (adapter->msix_vecs >= 1) {
|
||||
free_irq_cpu_rmap(adapter->netdev->rx_cpu_rmap);
|
||||
adapter->netdev->rx_cpu_rmap = NULL;
|
||||
}
|
||||
#endif /* CONFIG_RFS_ACCEL */
|
||||
|
||||
for (i = ENA_IO_IRQ_FIRST_IDX; i < ENA_MAX_MSIX_VEC(io_queue_count); i++) {
|
||||
irq = &adapter->irq_tbl[i];
|
||||
irq_set_affinity_hint(irq->vector, NULL);
|
||||
|
@ -4131,13 +4097,6 @@ static void __ena_shutoff(struct pci_dev *pdev, bool shutdown)
|
|||
ena_dev = adapter->ena_dev;
|
||||
netdev = adapter->netdev;
|
||||
|
||||
#ifdef CONFIG_RFS_ACCEL
|
||||
if ((adapter->msix_vecs >= 1) && (netdev->rx_cpu_rmap)) {
|
||||
free_irq_cpu_rmap(netdev->rx_cpu_rmap);
|
||||
netdev->rx_cpu_rmap = NULL;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_RFS_ACCEL */
|
||||
/* Make sure timer and reset routine won't be called after
|
||||
* freeing device resources.
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue