Samiullah Khawaja
2677010e77
Add support to set NAPI threaded for individual NAPI
...
A net device has a threaded sysctl that can be used to enable threaded
NAPI polling on all of the NAPI contexts under that device. Allow
enabling threaded NAPI polling at individual NAPI level using netlink.
Extend the netlink operation `napi-set` and allow setting the threaded
attribute of a NAPI. This will enable the threaded polling on a NAPI
context.
Add a test in `nl_netdev.py` that verifies various cases of threaded
NAPI being set at NAPI and at device level.
Tested
./tools/testing/selftests/net/nl_netdev.py
TAP version 13
1..7
ok 1 nl_netdev.empty_check
ok 2 nl_netdev.lo_check
ok 3 nl_netdev.page_pool_check
ok 4 nl_netdev.napi_list_check
ok 5 nl_netdev.dev_set_threaded
ok 6 nl_netdev.napi_set_threaded
ok 7 nl_netdev.nsim_rxq_reset_down
# Totals: pass:7 fail:0 xfail:0 xpass:0 skip:0 error:0
Signed-off-by: Samiullah Khawaja <skhawaja@google.com >
Reviewed-by: Willem de Bruijn <willemb@google.com >
Link: https://patch.msgid.link/20250710211203.3979655-1-skhawaja@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-07-14 18:02:37 -07:00
Joe Damato
bf1b8e0abc
documentation: networking: Add NAPI config
...
Document the existence of persistent per-NAPI configuration space and
the API that drivers can opt into.
Update stale documentation which suggested that NAPI IDs cannot be
queried from userspace.
Signed-off-by: Joe Damato <jdamato@fastly.com >
Acked-by: Jakub Kicinski <kuba@kernel.org >
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com >
Link: https://patch.msgid.link/20250213191535.38792-1-jdamato@fastly.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-02-14 17:09:19 -08:00
Khaled Elnaggar
cde5959913
documentation: networking: fix spelling mistakes
...
Fix a couple of typos/spelling mistakes in the documentation.
Signed-off-by: Khaled Elnaggar <khaledelnaggarlinux@gmail.com >
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de >
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Acked-by: Randy Dunlap <rdunlap@infradead.org >
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com >
Link: https://patch.msgid.link/20250123082521.59997-1-khaledelnaggarlinux@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-27 14:26:06 -08:00
Jan Stancek
ab88c2b373
tools: ynl: move python code to separate sub-directory
...
Move python code to a separate directory so it can be
packaged as a python module. Updates existing references
in selftests and docs.
Also rename ynl-gen-[c|rst] to ynl_gen_[c|rst], avoid
dashes as these prevent easy imports for entrypoints.
Signed-off-by: Jan Stancek <jstancek@redhat.com >
Reviewed-by: Donald Hunter <donald.hunter@gmail.com >
Link: https://patch.msgid.link/a4151bad0e6984e7164d395125ce87fd2e048bf1.1736343575.git.jstancek@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2025-01-09 12:53:27 -08:00
Joe Damato
a90a91e24b
docs: networking: Describe irq suspension
...
Describe irq suspension, the epoll ioctls, and the tradeoffs of using
different gro_flush_timeout values.
Signed-off-by: Joe Damato <jdamato@fastly.com >
Co-developed-by: Martin Karsten <mkarsten@uwaterloo.ca >
Signed-off-by: Martin Karsten <mkarsten@uwaterloo.ca >
Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com >
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com >
Link: https://patch.msgid.link/20241109050245.191288-7-jdamato@fastly.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2024-11-11 18:45:06 -08:00
Sean Anderson
b63ad06ddd
doc: net: napi: Update documentation for napi_schedule_irqoff
...
Since commit 8380c81d5c ("net: Treat __napi_schedule_irqoff() as
__napi_schedule() on PREEMPT_RT"), napi_schedule_irqoff will do the
right thing if IRQs are threaded. Therefore, there is no need to use
IRQF_NO_THREAD.
Signed-off-by: Sean Anderson <sean.anderson@linux.dev >
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com >
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Link: https://patch.msgid.link/20240930153955.971657-1-sean.anderson@linux.dev
Signed-off-by: Paolo Abeni <pabeni@redhat.com >
2024-10-03 12:07:29 +02:00
Jakub Kicinski
32ad45b769
docs: net: clarify the NAPI rules around XDP Tx
...
page pool and XDP should not be accessed from IRQ context
which may happen if drivers try to clean up XDP TX with
NAPI budget of 0.
Link: https://lore.kernel.org/r/20230720161323.2025379-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2023-07-21 18:51:37 -07:00
Jakub Kicinski
3eb8eea2a4
docs: networking: document NAPI
...
Add basic documentation about NAPI. We can stop linking to the ancient
doc on the LF wiki.
Link: https://lore.kernel.org/all/20230315223044.471002-1-kuba@kernel.org/
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com >
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com >
Acked-by: Pavel Pisa <pisa@cmp.felk.cvut.cz > # for ctucanfd-driver.rst
Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com >
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com >
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org >
Reviewed-by: Randy Dunlap <rdunlap@infradead.org >
Link: https://lore.kernel.org/r/20230322053848.198452-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2023-03-23 19:47:40 -07:00