Re: [net-next 1/2] ena: Link IRQs to NAPI instances
From: Joe Damato
Date: Tue Oct 01 2024 - 12:23:01 EST
On Tue, Oct 01, 2024 at 08:57:47AM +0000, Arinzon, David wrote:
> > Link IRQs to NAPI instances with netif_napi_set_irq. This information can be
> > queried with the netdev-genl API. Note that the ENA device appears to
> > allocate an IRQ for management purposes which does not have a NAPI
> > associated with it; this commit takes this into consideration to accurately
> > construct a map between IRQs and NAPI instances.
> >
> > Compare the output of /proc/interrupts for my ena device with the output
> > of netdev-genl after applying this patch:
> >
> > $ cat /proc/interrupts | grep enp55s0 | cut -f1 --delimiter=':'
> > 94
> > 95
> > 96
> > 97
> > 98
> > 99
> > 100
> > 101
> >
> > $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
> > --dump napi-get --json='{"ifindex": 2}'
> >
> > [{'id': 8208, 'ifindex': 2, 'irq': 101},
> > {'id': 8207, 'ifindex': 2, 'irq': 100},
> > {'id': 8206, 'ifindex': 2, 'irq': 99},
> > {'id': 8205, 'ifindex': 2, 'irq': 98},
> > {'id': 8204, 'ifindex': 2, 'irq': 97},
> > {'id': 8203, 'ifindex': 2, 'irq': 96},
> > {'id': 8202, 'ifindex': 2, 'irq': 95},
> > {'id': 8201, 'ifindex': 2, 'irq': 94}]
> >
> > Signed-off-by: Joe Damato <jdamato@xxxxxxxxxx>
> > ---
> > drivers/net/ethernet/amazon/ena/ena_netdev.c | 12 +++++++++++-
> > 1 file changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c
> > b/drivers/net/ethernet/amazon/ena/ena_netdev.c
> > index c5b50cfa935a..e88de5e426ef 100644
> > --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c
> > +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c
> > @@ -1679,7 +1679,7 @@ static int ena_request_io_irq(struct ena_adapter
> > *adapter)
> > u32 io_queue_count = adapter->num_io_queues + adapter-
> > >xdp_num_queues;
> > unsigned long flags = 0;
> > struct ena_irq *irq;
> > - int rc = 0, i, k;
> > + int rc = 0, i, k, irq_idx;
>
> nit: This breaks RCT guidelines, can you please move it to be below io_queue_count?
You are right; sorry I missed that. Will fix in the next revision.