On Tue, Oct 01, 2024 at 11:52:36PM +0000, Joe Damato wrote: > Add a persistent NAPI config area for NAPI configuration to the core. > Drivers opt-in to setting the persistent config for a NAPI by passing an > index when calling netif_napi_add_config. > > napi_config is allocated in alloc_netdev_mqs, freed in free_netdev > (after the NAPIs are deleted). > > Drivers which call netif_napi_add_config will have persistent per-NAPI > settings: NAPI IDs, gro_flush_timeout, and defer_hard_irq settings. > > Per-NAPI settings are saved in napi_disable and restored in napi_enable. > > Co-developed-by: Martin Karsten <mkarsten@xxxxxxxxxxxx> > Signed-off-by: Martin Karsten <mkarsten@xxxxxxxxxxxx> > Signed-off-by: Joe Damato <jdamato@xxxxxxxxxx> > --- > .../networking/net_cachelines/net_device.rst | 1 + > include/linux/netdevice.h | 32 ++++++++ > net/core/dev.c | 79 +++++++++++++++++-- > net/core/dev.h | 14 ++++ > 4 files changed, 119 insertions(+), 7 deletions(-) [...] > +/** > + * netif_napi_add_config - initialize a NAPI context with persistent config > + * @dev: network device > + * @napi: NAPI context > + * @poll: polling function > + * @weight: the poll weight of this NAPI For anyone following along, I noticed this unnecessary bit of kdoc left in from a previous revision and will remove it when submitting v5.