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

Ian Rogers posted 3 patches 3 years, 9 months ago
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
[PATCH v4 0/3] Add arch TSC frequency information
Posted by Ian Rogers 3 years, 9 months ago
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
Re: [PATCH v4 0/3] Add arch TSC frequency information
Posted by Liang, Kan 3 years, 9 months ago

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@linux.intel.com>

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
>