linux-kernelorg-stable/Documentation
Jakub Kicinski ab63a2387c netdev: add per-queue statistics
The ethtool-nl family does a good job exposing various protocol
related and IEEE/IETF statistics which used to get dumped under
ethtool -S, with creative names. Queue stats don't have a netlink
API, yet, and remain a lion's share of ethtool -S output for new
drivers. Not only is that bad because the names differ driver to
driver but it's also bug-prone. Intuitively drivers try to report
only the stats for active queues, but querying ethtool stats
involves multiple system calls, and the number of stats is
read separately from the stats themselves. Worse still when user
space asks for values of the stats, it doesn't inform the kernel
how big the buffer is. If number of stats increases in the meantime
kernel will overflow user buffer.

Add a netlink API for dumping queue stats. Queue information is
exposed via the netdev-genl family, so add the stats there.
Support per-queue and sum-for-device dumps. Latter will be useful
when subsequent patches add more interesting common stats than
just bytes and packets.

The API does not currently distinguish between HW and SW stats.
The expectation is that the source of the stats will either not
matter much (good packets) or be obvious (skb alloc errors).

Acked-by: Stanislav Fomichev <sdf@google.com>
Reviewed-by: Amritha Nambiar <amritha.nambiar@intel.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240306195509.1502746-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-03-07 21:13:25 -08:00
..
ABI Char/Misc changes for 6.8-rc5 2024-02-17 08:52:38 -08:00
PCI
RAS
RCU
accel docs/accel: correct links to mailing list archives 2024-01-23 14:45:50 -07:00
accounting
admin-guide net: make SK_MEMORY_PCPU_RESERV tunable 2024-02-28 09:23:08 +00:00
arch x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key 2024-02-19 16:31:49 -08:00
block
bpf bpf: Replace bpf_lpm_trie_key 0-length array with flexible array 2024-02-29 22:52:43 +01:00
cdrom
core-api
cpu-freq
crypto
dev-tools Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-01 15:12:37 -08:00
devicetree dt-bindings: net: dp83822: change ti,rmii-mode description 2024-03-07 20:25:28 -08:00
doc-guide
driver-api dpll: move all dpll<>netdev helpers to dpll code 2024-03-05 18:36:42 -08:00
fault-injection
fb
features
filesystems ovl: mark xwhiteouts directory with overlay.opaque='x' 2024-01-23 12:39:48 +02:00
firmware-guide
firmware_class
fpga
gpu
hid
hwmon
i2c
iio
images
infiniband
input
isdn
kbuild docs: kconfig: Fix grammar and formatting 2024-02-15 06:55:47 +09:00
kernel-hacking
leds
litmus-tests
livepatch
locking
maintainer
mhi
misc-devices
mm
netlabel
netlink netdev: add per-queue statistics 2024-03-07 21:13:25 -08:00
networking netdev: add per-queue statistics 2024-03-07 21:13:25 -08:00
nvdimm
nvme
pcmcia
peci
power
process Including fixes from bpf and netfilter. 2024-02-22 09:57:58 -08:00
rust LoongArch changes for v6.8 2024-01-19 13:30:49 -08:00
scheduler
scsi
security
sound
sphinx docs: translations: use attribute to store current language 2024-02-21 13:41:37 -07:00
sphinx-static
spi
staging
target
tee
timers
tools
trace
translations
usb usb: gadget: ncm: Fix indentations in documentation of NCM section 2024-01-27 16:27:58 -08:00
userspace-api eventpoll: Add epoll ioctl for epoll_params 2024-02-14 11:01:01 +00:00
virt Documentation: hyperv: Add overview of PCI pass-thru device support 2024-03-01 08:29:49 +00:00
w1
watchdog
wmi
.gitignore
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
atomic_bitops.txt
atomic_t.txt
conf.py docs: Instruct LaTeX to cope with deeper nesting 2024-02-20 14:51:42 -07:00
docutils.conf
dontdiff
index.rst
memory-barriers.txt
subsystem-apis.rst