Skip to content

RFC perf pmu interface changes -v3

Peter Zijlstra lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest13 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13perf, x86: Fix Nehalem PMU quirkarch/x86/kernel/cpu/perf_event_intel.c+1 -10 replies
2/13sparc64: Fix maybe_change_configuration() PCR setting.arch/sparc/kernel/perf_event.c+1 -00 replies
3/13perf: Fix CPU hotplugkernel/perf_event.c+3 -30 replies
4/13perf, powerpc: Use perf_sample_data_init() for the FSL codearch/powerpc/kernel/perf_event_fsl_emb.c+3 -30 replies
5/13perf, powerpc: Convert the FSL driver to use local64_tarch/powerpc/kernel/perf_event_fsl_emb.c+14 -140 replies
6/13perf: deconstify struct pmuarch/arm/kernel/perf_event.c arch/powerpc/kernel/perf_event.c arch/powerpc/kernel/perf_event_fsl_emb.c +5 more+38 -380 replies
7/13perf: register pmu implementationsarch/arm/kernel/perf_event.c arch/powerpc/kernel/perf_event.c arch/powerpc/kernel/perf_event_fsl_emb.c +6 more+466 -3970 replies
8/13perf: Unindent labelskernel/perf_event.c+24 -190 replies
9/13perf: Reduce perf_disable() usagearch/powerpc/kernel/perf_event.c arch/powerpc/kernel/perf_event_fsl_emb.c arch/sparc/kernel/perf_event.c +3 more+37 -560 replies
10/13perf: Per PMU disablearch/arm/kernel/perf_event.c arch/powerpc/kernel/perf_event.c arch/powerpc/kernel/perf_event_fsl_emb.c +5 more+99 -823 replies
11/13perf: Default PMU opsinclude/linux/perf_event.h kernel/perf_event.c+57 -170 replies
12/13perf: Shrink hw_perf_eventinclude/linux/perf_event.h kernel/perf_event.c+6 -80 replies
13/13perf: Rework the PMU methodsarch/arm/kernel/perf_event.c arch/powerpc/kernel/perf_event.c arch/powerpc/kernel/perf_event_fsl_emb.c +10 more+525 -3142 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 00/13] perf pmu interface changes -v3

The first 5 patches are fixes to the existing code and should probably end up in .35, Dave has his sparc64 fix already queued I think, Paulus could you take the FSL fixes?

The rest of these patches prepare the perf code for multiple pmus (no user interface yet, Lin Ming is working on that). These patches remove all weak functions and rework the struct pmu interface.

The patches are boot tested on x86_64 and compile tested on: powerpc, ppc-fsl, sparc and arm and SH (by courtesy of Matt Fleming).

X86 -- appears to be fully functional.
FSL -- should, after the initial few fixes, at least compile again. ARM -- is known to have grown some issues, Will was looking into that. SH -- has some pre-existing bugs, but hopefully Paulus' last observation about
the missing -ENOENT in the pmu::event_init method cures the newly introduced troubles.
PPC -- will be looked at by Paulus
SPARC -- Dave, when you have a moment.. ;-)

Once those are sorted, and I'm back from vacation I'll start on the previously mentioned per pmu context support.

Patches also available in git format for easy testing (tip/master + patches):

git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf.git perf-pmu

HEAD should be ac9fd39c1