]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
e1000e: Link NAPI instances to queues and IRQs
authorJoe Damato <jdamato@fastly.com>
Mon, 30 Sep 2024 17:12:31 +0000 (17:12 +0000)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 8 Oct 2024 22:22:32 +0000 (15:22 -0700)
commitc6b8cd69912847a292c242a272efd6e9d09e9088
treea2df663ca2dfd3efc292d7c739aac93ada5965f1
parent0cab3b0f8306a9ecd11b4c72ca4b890ae816193c
e1000e: Link NAPI instances to queues and IRQs

Add support for netdev-genl, allowing users to query IRQ, NAPI, and queue
information.

After this patch is applied, note the IRQs assigned to my NIC:

$ cat /proc/interrupts | grep ens | cut -f1 --delimiter=':'
 50
 51
 52

While e1000e allocates 3 IRQs (RX, TX, and other), it looks like e1000e
only has a single NAPI, so I've associated the NAPI with the RX IRQ (50
on my system, seen above).

Note the output from the cli:

$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
                       --dump napi-get --json='{"ifindex": 2}'
[{'id': 145, 'ifindex': 2, 'irq': 50}]

This device supports only 1 rx and 1 tx queue. so querying that:

$ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/netdev.yaml \
                       --dump queue-get --json='{"ifindex": 2}'
[{'id': 0, 'ifindex': 2, 'napi-id': 145, 'type': 'rx'},
 {'id': 0, 'ifindex': 2, 'napi-id': 145, 'type': 'tx'}]

Signed-off-by: Joe Damato <jdamato@fastly.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Acked-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Tested-by: Avigail Dahan <avigailx.dahan@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/e1000e/netdev.c