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
|
#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/ethtool.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -162,30 +159,6 @@ int ena_xmit_common(struct ena_adapter *adapter,
|
||||||
return 0;
|
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,
|
static void ena_init_io_rings_common(struct ena_adapter *adapter,
|
||||||
struct ena_ring *ring, u16 qid)
|
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;
|
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,
|
netif_warn(adapter, probe, adapter->netdev,
|
||||||
"Failed to map IRQs to CPUs\n");
|
"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;
|
struct ena_irq *irq;
|
||||||
int i;
|
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++) {
|
for (i = ENA_IO_IRQ_FIRST_IDX; i < ENA_MAX_MSIX_VEC(io_queue_count); i++) {
|
||||||
irq = &adapter->irq_tbl[i];
|
irq = &adapter->irq_tbl[i];
|
||||||
irq_set_affinity_hint(irq->vector, NULL);
|
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;
|
ena_dev = adapter->ena_dev;
|
||||||
netdev = adapter->netdev;
|
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
|
/* Make sure timer and reset routine won't be called after
|
||||||
* freeing device resources.
|
* freeing device resources.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue