Messages in this thread | | | Date | Mon, 18 Jul 2022 09:43:09 -0700 | Subject | [PATCH v4 0/3] Add arch TSC frequency information | From | Ian Rogers <> |
| |
The first patch adds the #system_tsc_freq literal to expr.c and computes it via cpuid. The second patches adds support for "older" processors by computing the value via /proc/cpuinfo. The third patch adds a test then the computation looks somewhat sensible.
Such a literal is useful to calculate things like the average frequency [1]. The TSC frequency isn't exposed by sysfs although some experimental drivers look to add it [2].
[1] https://github.com/intel/perfmon-metrics/blob/5ad9ef7056f31075e8178b9f1fb732af183b2c8d/SKX/metrics/perf/skx_metric_perf.json#L11 [2] https://github.com/trailofbits/tsc_freq_khz
v4. Modified the patch order and separated out the test. v3. Added the cpuid approach from Kan Liang. v2. Adds warnings to make clear if things have changed/broken on future Intel platforms. It also adds caching and an Intel specific that a value is computed.
Ian Rogers (2): perf tsc: Add cpuinfo fall back for arch_get_tsc_freq perf test: Add test for #system_tsc_freq in metrics
Kan Liang (1): perf tsc: Add arch TSC frequency information
tools/perf/arch/x86/util/cpuid.h | 34 ++++++++++++++ tools/perf/arch/x86/util/header.c | 27 +++++------ tools/perf/arch/x86/util/tsc.c | 77 +++++++++++++++++++++++++++++++ tools/perf/tests/expr.c | 13 ++++++ tools/perf/util/expr.c | 13 ++++++ tools/perf/util/tsc.h | 1 + 6 files changed, 149 insertions(+), 16 deletions(-) create mode 100644 tools/perf/arch/x86/util/cpuid.h
-- 2.37.0.170.g444d1eabd0-goog
| |