linux-stable/tools/net/ynl
Jakub Kicinski 900b2801bf ynl: samples: fix recycling rate calculation
Running the page-pool sample on production machines under moderate
networking load shows recycling rate higher than 100%:

$ page-pool
    eth0[2]	page pools: 14 (zombies: 0)
		refs: 89088 bytes: 364904448 (refs: 0 bytes: 0)
		recycling: 100.3% (alloc: 1392:2290247724 recycle: 469289484:1828235386)

Note that outstanding refs (89088) == slow alloc * cache size (1392 * 64)
which means this machine is recycling page pool pages perfectly, not
a single page has been released.

The extra 0.3% is because sample ignores allocations from the ptr_ring.
Treat those the same as alloc_fast, the ring vs cache alloc is
already captured accurately enough by recycling stats.

With the fix:

$ page-pool
    eth0[2]	page pools: 14 (zombies: 0)
		refs: 89088 bytes: 364904448 (refs: 0 bytes: 0)
		recycling: 100.0% (alloc: 1392:2331141604 recycle: 473625579:1857460661)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-03-11 10:22:06 +00:00
..
generated tools: ynl: rename make hardclean -> distclean 2024-03-06 12:05:10 +00:00
lib tools: ynl: Fix spelling mistake "Constructred" -> "Constructed" 2024-03-08 19:58:13 -08:00
samples ynl: samples: fix recycling rate calculation 2024-03-11 10:22:06 +00:00
cli.py tools/net/ynl: Report netlink errors without stacktrace 2024-03-07 20:28:26 -08:00
ethtool.py tools: ynl: Rename ethtool to ethtool.py 2023-04-13 22:18:29 -07:00
Makefile tools: ynl: add distclean to .PHONY in all makefiles 2024-03-06 12:05:10 +00:00
Makefile.deps tools: ynl: protect from old OvS headers 2024-02-28 15:24:11 -08:00
requirements.txt tools: ynl: add the Python requirements.txt file 2023-03-24 19:11:02 -07:00
ynl-gen-c.py tools/net/ynl: Fix c codegen for array-nest 2024-03-07 20:28:29 -08:00
ynl-gen-rst.py tools/net/ynl: Add type info to struct members in generated docs 2024-01-31 21:19:19 -08:00
ynl-regen.sh tools: ynl: don't skip regeneration from make targets 2023-11-29 16:07:00 -08:00