]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: napi: Add napi_config
authorJoe Damato <jdamato@fastly.com>
Fri, 11 Oct 2024 18:45:00 +0000 (18:45 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Oct 2024 00:54:29 +0000 (17:54 -0700)
commit86e25f40aa1e9e54e081e55016f65b5c92523989
treee76dd60c123719a218a65037f1c001a65c0e84be
parent0137891e74576f77a7901718dc0ce08ca074ae74
net: napi: Add napi_config

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@uwaterloo.ca>
Signed-off-by: Martin Karsten <mkarsten@uwaterloo.ca>
Signed-off-by: Joe Damato <jdamato@fastly.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20241011184527.16393-6-jdamato@fastly.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/net_cachelines/net_device.rst
include/linux/netdevice.h
net/core/dev.c
net/core/dev.h