mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 15:03:04 +00:00
3c0bf13f5d
Using examples of other driver(s), add the ability to hot-swap an XDP program without having to reconfigure the queues. To prevent the q->xdp_prog to be read/written more than once use READ_ONCE() and WRITE_ONCE() on the q->xdp_prog. The q->xdp_prog was being checked in multiple different for loops in the hot path. The change to allow xdp_prog hot swapping created the possibility for many READ_ONCE(q->xdp_prog) calls during a single napi callback. Refactor the Rx napi handling to allow a previous READ_ONCE(q->xdp_prog) (or NULL for hwstamp_rxq) to be passed into the relevant functions. Also, move other Rx related hotpath handling into the newly created ionic_rx_cq_service() function to reduce the scope of the xdp_prog local variable and put all Rx handling in one function similar to Tx. Signed-off-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Link: https://patch.msgid.link/20240906232623.39651-8-brett.creeley@amd.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
||
---|---|---|
.. | ||
ionic_bus_pci.c | ||
ionic_bus.h | ||
ionic_debugfs.c | ||
ionic_debugfs.h | ||
ionic_dev.c | ||
ionic_dev.h | ||
ionic_devlink.c | ||
ionic_devlink.h | ||
ionic_ethtool.c | ||
ionic_ethtool.h | ||
ionic_fw.c | ||
ionic_if.h | ||
ionic_lif.c | ||
ionic_lif.h | ||
ionic_main.c | ||
ionic_phc.c | ||
ionic_regs.h | ||
ionic_rx_filter.c | ||
ionic_rx_filter.h | ||
ionic_stats.c | ||
ionic_stats.h | ||
ionic_txrx.c | ||
ionic_txrx.h | ||
ionic.h | ||
Makefile |