[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241219193403.10a52305@kernel.org>
Date: Thu, 19 Dec 2024 19:34:03 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Ahmed Zaki <ahmed.zaki@...el.com>
Cc: netdev@...r.kernel.org, intel-wired-lan@...ts.osuosl.org,
andrew+netdev@...n.ch, edumazet@...gle.com, pabeni@...hat.com,
davem@...emloft.net, michael.chan@...adcom.com, tariqt@...dia.com,
anthony.l.nguyen@...el.com, przemyslaw.kitszel@...el.com,
jdamato@...tly.com, shayd@...dia.com, akpm@...ux-foundation.org
Subject: Re: [PATCH net-next v2 1/8] net: napi: add irq_flags to napi struct
On Wed, 18 Dec 2024 09:58:36 -0700 Ahmed Zaki wrote:
> Add irq_flags to the napi struct. This will allow the drivers to choose
> how the core handles the IRQ assigned to the napi via
> netif_napi_set_irq().
I haven't read all the code, but I think the flag should be for the
netdev as a while, not NAPI by NAPI. In fact you can combine it with
allocating the map, too.
int netif_enable_cpu_rmap(dev, num_queues)
{
#ifdef CONFIG_RFS_ACCEL
WARN_ON(dev->rx_cpu_rmap);
dev->rx_cpu_rmap = alloc_irq_cpu_rmap(adapter->num_queues);
if ...
dev->rx_cpu_rmap_auto = 1;
return 0;
#endif
}
void netif_disable_cpu_rmap(dev)
{
dev->rx_cpu_rmap_auto = 0;
free_irq_cpu_rmap(dev->rx_cpu_rmap);
}
Then in the NAPI code you just:
void netif_napi_set_irq(...)
{
...
if (napi->dev->rx_cpu_rmap_auto) {
err = irq_cpu_rmap_add(napi->dev->rx_cpu_rmap, irq);
...
}
}
Powered by blists - more mailing lists