Currently, there is no way to measure lcore busyness in a passive way, without any modifications to the application. This patchset adds a new EAL API that will be able to passively track core busyness. As part of the set, new telemetry endpoints are added to read the generate metrics.
Anatoly Burakov (2): eal: add lcore poll busyness telemetry eal: add cpuset lcore telemetry entries Kevin Laatz (1): doc: add howto guide for lcore poll busyness config/meson.build | 1 + config/rte_config.h | 1 + doc/guides/howto/lcore_busyness.rst | 79 +++++ lib/bbdev/rte_bbdev.h | 17 +- lib/compressdev/rte_compressdev.c | 2 + lib/cryptodev/rte_cryptodev.h | 2 + lib/distributor/rte_distributor.c | 21 +- lib/distributor/rte_distributor_single.c | 14 +- lib/dmadev/rte_dmadev.h | 15 +- lib/eal/common/eal_common_lcore_telemetry.c | 340 ++++++++++++++++++++ lib/eal/common/meson.build | 1 + lib/eal/include/rte_lcore.h | 80 +++++ lib/eal/meson.build | 3 + lib/eal/version.map | 7 + lib/ethdev/rte_ethdev.h | 2 + lib/eventdev/rte_eventdev.h | 10 +- lib/rawdev/rte_rawdev.c | 5 +- lib/regexdev/rte_regexdev.h | 5 +- lib/ring/rte_ring_elem_pvt.h | 1 + meson_options.txt | 2 + 20 files changed, 584 insertions(+), 24 deletions(-) create mode 100644 doc/guides/howto/lcore_busyness.rst create mode 100644 lib/eal/common/eal_common_lcore_telemetry.c -- 2.31.1