[PATCH v4 0/3] Unify scaling of counters obtained from perf_evsel__read()
From: Shunsuke
Date: Mon Nov 29 2021 - 04:09:59 EST
This patch series unifies the counters that can be obtained from
perf_evsel__read() to "no scaling".
The counter scaling will be done using a function moved from
tools/perf/util.
The first patch move perf_counts_values__scale from tools/perf/util
to tools/lib/perf so that it can be used with libperf.
The second patch removes the scaling process from
perf_mmap__read_self().
The third patch adds a verification test to make sure that it scales
correctly when multiplexed.
---
Previous version at:
https://lore.kernel.org/linux-perf-users/20211109085831.3770594-1-nakamura.shun@xxxxxxxxxxx/
Changes in v4:
- Modify type s8 to type __s8
Changes in v3:
- Move scaling process from tools/perf/util to tools/lib/perf
- Remove scaling process from perf_mmap__read_self()
- Remove scaling process for perf_mmap__read_self
- Remove test to verify that no division by zero occurs
Changes in v2:
- Fix not to divide by zero when counter scaling
- Add test to verify that no division by zero occurs
[1] https://github.com/deater/perf_event_tests/blob/master/tests/rdpmc/rdpmc_multiplexing.c
Shunsuke Nakamura (3):
libperf: Move perf_counts_values__scale to tools/lib/perf
libperf: Remove scaling process from perf_mmap__read_self()
libperf tests: Add test_stat_multiplexing test
tools/lib/perf/evsel.c | 19 ++++
tools/lib/perf/include/perf/evsel.h | 4 +
tools/lib/perf/libperf.map | 1 +
tools/lib/perf/mmap.c | 2 -
tools/lib/perf/tests/test-evlist.c | 157 ++++++++++++++++++++++++++++
tools/perf/util/evsel.c | 19 ----
tools/perf/util/evsel.h | 3 -
7 files changed, 181 insertions(+), 24 deletions(-)
--
2.25.1