perf/x86/intel/uncore: Fix the scale of the IMC free-running events
authorKan Liang <kan.liang@linux.intel.com>
Mon, 28 Sep 2020 13:32:40 +0000 (06:32 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 29 Sep 2020 07:57:02 +0000 (09:57 +0200)
commit8191016a026b8dfbb14dea64efc8e723ee99fe65
tree7be28740f6e59837c99e8406d4cea7bcb6f4930e
parentf797f05d917ffef94249ee0aec4c14a5b50517b2
perf/x86/intel/uncore: Fix the scale of the IMC free-running events

The "MiB" result of the IMC free-running bandwidth events,
uncore_imc_free_running/read/ and uncore_imc_free_running/write/ are 16
times too small.

The "MiB" value equals the raw IMC free-running bandwidth counter value
times a "scale" which is inaccurate.

The IMC free-running bandwidth events should be incremented per 64B
cache line, not DWs (4 bytes). The "scale" should be 6.103515625e-5.
Fix the "scale" for both Snow Ridge and Ice Lake.

Fixes: 2b3b76b5ec67 ("perf/x86/intel/uncore: Add Ice Lake server uncore support")
Fixes: ee49532b38dd ("perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge")
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200928133240.12977-1-kan.liang@linux.intel.com
arch/x86/events/intel/uncore_snbep.c