Re: [PATCH v4 0/3] Add arch TSC frequency information

From: Liang, Kan
Date: Mon Jul 18 2022 - 13:26:59 EST




On 2022-07-18 12:43 p.m., Ian Rogers wrote:
> 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

Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Thanks,
Kan

>
> 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
>