hi, 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: git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/msr Tested on snb and skylake servers. v2 changes: - checking zero rdmsr only for msr PMU events, cstate* and rapl pmu functionality stays unchanged thanks, jirka [1] https://lore.kernel.org/lkml/20190301114250.GA23459@krava/ [2] https://lore.kernel.org/lkml/20190318182116.17388-1-jo...@kernel.org/ [3] https://lore.kernel.org/lkml/20190512155518.21468-1-jo...@kernel.org/ --- 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