[PATCH v5 0/3] Add lcore poll busyness telemetry
Kevin Laatz
kevin.laatz at intel.com
Fri Sep 2 17:58:24 CEST 2022
Currently, there is no way to measure lcore polling 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 polling busyness. As part
of the set, new telemetry endpoints are added to read the generate metrics.
---
v5:
* Fix Windows build
* Make lcore_telemetry_free() an internal interface
* Minor cleanup
v4:
* Fix doc build
* Rename timestamp macro to RTE_LCORE_POLL_BUSYNESS_TIMESTAMP
* Make enable/disable read and write atomic
* Change rte_lcore_poll_busyness_enabled_set() param to bool
* Move mem alloc from enable/disable to init/cleanup
* Other minor fixes
v3:
* Fix missing renaming to poll busyness
* Fix clang compilation
* Fix arm compilation
v2:
* Use rte_get_tsc_hz() to adjust the telemetry period
* Rename to reflect polling busyness vs general busyness
* Fix segfault when calling telemetry timestamp from an unregistered
non-EAL thread.
* Minor cleanup
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/index.rst | 1 +
doc/guides/howto/lcore_poll_busyness.rst | 92 +++++
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 | 350 ++++++++++++++++++++
lib/eal/common/meson.build | 1 +
lib/eal/include/rte_lcore.h | 84 +++++
lib/eal/linux/eal.c | 1 +
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 | 6 +-
lib/regexdev/rte_regexdev.h | 5 +-
lib/ring/rte_ring_elem_pvt.h | 1 +
meson_options.txt | 2 +
22 files changed, 614 insertions(+), 24 deletions(-)
create mode 100644 doc/guides/howto/lcore_poll_busyness.rst
create mode 100644 lib/eal/common/eal_common_lcore_telemetry.c
--
2.31.1
More information about the dev
mailing list