[RFC net-next v2 0/2] igc: Link IRQs and queues to NAPIs

From: Joe Damato
Date: Mon Oct 14 2024 - 17:30:46 EST


Greetings:

Welcome to v2, still an RFC. See changelog below and in each patch for
changes from v1 [1].

This series adds support for netdev-genl to igc so that userland apps
can query IRQ, queue, and NAPI instance relationships. This is useful
because developers who have igc NICs (for example, in their Intel NUCs)
who are working on epoll-based busy polling apps and using
SO_INCOMING_NAPI_ID, need access to this API to map NAPI IDs back to
queues.

See the commit messages of each patch for example output I got on my igc
hardware.

I've taken the feedback from both Kurt Kanzenbach and Vinicius Costa
Gomes to handle the IGC_FLAG_QUEUE_PAIRS bug and the XDP case
(respectively) from v1.

If this implementation looks OK, I will follow up in a few days with an
official (non-RFC) submission.

Thanks to reviewers and maintainers for their comments/feedback!

Thanks,
Joe

[1]: https://lore.kernel.org/lkml/20241003233850.199495-1-jdamato@xxxxxxxxxx/

v2:
- Patch 1: update line wrapping to 80 chars
- Patch 2:
- Update commit message to include output for IGC_FLAG_QUEUE_PAIRS
enabled and disabled
- Significant refactor to move queue mapping code to helpers to be
called from multiple locations
- Adjusted code to handle IGC_FLAG_QUEUE_PAIRS disabled as suggested
by Kurt Kanzenbach
- Map / unmap queues in igc_xdp_disable_pool and
igc_xdp_enable_pool, respectively, as suggested by Vinicius Costa
Gomes to handle the XDP case

Joe Damato (2):
igc: Link IRQs to NAPI instances
igc: Link queues to NAPI instances

drivers/net/ethernet/intel/igc/igc.h | 3 ++
drivers/net/ethernet/intel/igc/igc_main.c | 61 +++++++++++++++++++++--
drivers/net/ethernet/intel/igc/igc_xdp.c | 2 +
3 files changed, 62 insertions(+), 4 deletions(-)


base-commit: 01b6b9315f15f199a206c8b3bd3e051584237d7e
--
2.25.1