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

From: Jiri Olsa
Date: Fri Jun 14 2019 - 06:25:41 EST


On Fri, May 31, 2019 at 02:09:50PM +0200, Jiri Olsa wrote:
> 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

ping

jirka

>
> thanks,
> jirka
>
>
> [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