[PATCH v9 0/8] lib/pmu: cleanups and trace integration
Tomasz Duszynski
tduszynski at marvell.com
Wed Jul 23 06:41:10 CEST 2025
This series does some cleanup and refactoring around the rc1 code like: trimming unused headers,
switching to callbacks for per-arch handling, and adding trace support. It also re-enables existing
base test to help catch reported issues on some architectures.
v9:
- properly rebase patch integrating pmu and trace
v8:
- export __rte_pmu_trace_read from library itself to avoid build issues
with msvc linker
v7:
- change test return value
v6:
- add more logs to functional test
- skip test in case of setup failure, user must make sure
system is properly configured to get valid results
v5:
- add missing patch that quiesces chincs check
v4:
- change fast test so that it won't fail on misconfigured system
- fix compilation on windows
v3:
- do not export __rte_pmu_trace_read because that breaks compilation
on windows - script generating map files does not handle conditional
compilation
- skip testing if paranoia is at wrong level
v2:
- explicitly check against NULL
- make pmu lib optional by checking if dpdk config has RTE_LIB_PMU
Tomasz Duszynski (8):
lib/pmu: quiesce rte_pmu_read deprecation warning in chkincs
lib/pmu: export only necessary arch headers
lib/pmu: reimplement per-arch ops as callbacks
lib/pmu: do not try enabling perf counter access on arm64
lib/pmu: use build system defined RTE_LIB_PMU macro
test/pmu: enable test
trace: add PMU
lib/pmu: fix out-of-bound access
MAINTAINERS | 1 +
app/test/test_pmu.c | 60 ++++++++++++--
app/test/test_trace_perf.c | 10 +++
doc/guides/prog_guide/profile_app.rst | 5 ++
doc/guides/prog_guide/trace_lib.rst | 31 ++++++++
lib/eal/common/eal_common_trace.c | 5 +-
lib/eal/common/eal_common_trace_pmu.c | 38 +++++++++
lib/eal/common/eal_common_trace_points.c | 5 ++
lib/eal/common/eal_trace.h | 4 +
lib/eal/common/meson.build | 1 +
lib/eal/include/rte_eal_trace.h | 16 ++++
lib/eal/include/rte_trace_point.h | 7 ++
lib/eal/include/rte_trace_point_register.h | 2 +
lib/eal/meson.build | 3 +
lib/meson.build | 2 +-
lib/pmu/meson.build | 10 +--
lib/pmu/pmu.c | 92 ++++++++++++++++------
lib/pmu/pmu_arm64.c | 59 +++++---------
lib/pmu/pmu_private.h | 51 ++++++++++--
lib/pmu/rte_pmu.h | 49 +++++++++++-
20 files changed, 368 insertions(+), 83 deletions(-)
create mode 100644 lib/eal/common/eal_common_trace_pmu.c
--
2.34.1
More information about the dev
mailing list