Web lists-archives.com

[PATCHv2 0/8] perf/x86: Rework msr probe interface

following up on [1], [2] and [3], this patchset adds update
attribute groups to pmu, factors out the MSR probe code and
use it in msr,cstate* and rapl PMUs.

The functionality stays the same with one exception:
for msr PMU: the event is not exported if the rdmsr return zero
on event's msr, cstate* and rapl pmu functionality stays.

And also: ;-)
> Somewhere along the line you lost the explanation of _why_ we're doing
> this; namely: virt sucks.

Also available in:

Tested on snb and skylake servers.

v2 changes:
  - checking zero rdmsr only for msr PMU events,
    cstate* and rapl pmu functionality stays unchanged


[1] https://lore.kernel.org/lkml/20190301114250.GA23459@krava/
[2] https://lore.kernel.org/lkml/20190318182116.17388-1-jolsa@xxxxxxxxxx/
[3] https://lore.kernel.org/lkml/20190512155518.21468-1-jolsa@xxxxxxxxxx/
Jiri Olsa (8):
      perf/x86: Add msr probe interface
      perf/x86/msr: Use new probe function
      perf/x86/cstate: Use new probe function
      perf/x86/rapl: Use new msr detection interface
      perf/x86/rapl: Get rapl_cntr_mask from new probe framework
      perf/x86/rapl: Get msr values from new probe framework
      perf/x86/rapl: Get attributes from new probe framework
      perf/x86/rapl: Get quirk state from new probe framework

 arch/x86/events/Makefile       |   2 +-
 arch/x86/events/intel/cstate.c | 152 ++++++++++++++++++++++++++++++++++++++++------------------------------
 arch/x86/events/intel/rapl.c   | 378 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------
 arch/x86/events/msr.c          | 110 ++++++++++++++++++++++++++++-----------------------
 arch/x86/events/probe.c        |  45 +++++++++++++++++++++
 arch/x86/events/probe.h        |  29 ++++++++++++++
 6 files changed, 391 insertions(+), 325 deletions(-)
 create mode 100644 arch/x86/events/probe.c
 create mode 100644 arch/x86/events/probe.h