Thread (10 messages) flat view 10 messages, 3 authors, 5d ago

[RFC net-next 0/6] selftests: net: add performance metric reporting

From: Stanislav Fomichev <hidden>
Date: 2026-09-16 19:04:14

Sharing as an RFC to get the feedback on the overall approach. Current
model is where the ktap side drives system monitoring and nipa only
collects/interprets/draws. Another way we can do it is to move system
monitoring stuff to nipa.

ktap-side monitoring pros/cons:
- pro: same format for system vs test metrics (same parser, same
  aggregator, etc)
- pro: test controls when the system collection starts
- pro: test controls what the system collects (say, on multi-nic
  machines, we collect only the things that matter)
- pro: local runs produce the same output (and we can add some tools to
  produce the aggregates for local analysis)

- con: bespoke metrics aggregation format defined/exported by the test (but
  I think we still need it for non-system metrics regardless?)
- con: extra code/complexity on ksft side (although it's only SystemMonitor,
  the rest of this patch series still relevant)

nipa-side monitoring pros/cons:
- pro: more code stays on nipa side
- pro: tests don't care about system side of things, it's always
  collected on nipa side
- pro: each nipa runner can define its own policy/thresholds (although,
  why would we want it only for the system side and not the test side?)

- con: separate collection & parsing (system vs test)
- con: local runs need nipa if we want to observe the metrics

Stanislav Fomichev (6):
  selftests: net: py: add timestamped metric output
  selftests: net: py: add metric policy output
  selftests: drv-net: add a system performance monitor
  selftests: drv-net: add an iperf performance test
  selftests: drv-net: add a kperf runner
  selftests: drv-net: measure devmem performance with kperf

 .../testing/selftests/drivers/net/README.rst  |  56 ++++
 .../testing/selftests/drivers/net/hw/Makefile |   1 +
 .../selftests/drivers/net/hw/devmem.py        |  70 ++++-
 .../testing/selftests/drivers/net/hw/iperf.py |  21 ++
 .../drivers/net/hw/lib/py/__init__.py         |  19 +-
 .../selftests/drivers/net/lib/py/__init__.py  |  18 +-
 .../selftests/drivers/net/lib/py/kperf.py     | 148 +++++++++++
 .../selftests/drivers/net/lib/py/load.py      |  25 +-
 .../drivers/net/lib/py/system_monitor.py      | 240 ++++++++++++++++++
 .../testing/selftests/net/lib/py/__init__.py  |  12 +-
 tools/testing/selftests/net/lib/py/ksft.py    | 174 ++++++++++++-
 11 files changed, 763 insertions(+), 21 deletions(-)
 create mode 100755 tools/testing/selftests/drivers/net/hw/iperf.py
 create mode 100644 tools/testing/selftests/drivers/net/lib/py/kperf.py
 create mode 100644 tools/testing/selftests/drivers/net/lib/py/system_monitor.py

-- 
2.53.0-Meta
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help