Thread (3 messages) 3 messages, 3 authors, 2010-03-05

Re: [PATCH 2/2] perf_event: e500 support

From: Kumar Gala <hidden>
Date: 2010-03-04 16:48:09

On Feb 25, 2010, at 6:09 PM, Scott Wood wrote:
This implements perf_event support for the Freescale embedded =
performance
monitor, based on the existing perf_event.c that supports =
server/classic
chips.
=20
Some limitations:
- Performance monitor interrupts are regular EE interrupts, and thus =
you
 can't profile places with interrupts disabled.  We may want to =
implement
 soft IRQ-disabling, with perfmon interrupts exempted and treated as =
NMIs.
- When trying to schedule multiple event groups at once, and using
 restricted events, situations could arise where scheduling fails even
 though it would be possible.  Consider three groups, each with two =
events.
 One group has restricted events, the others don't.  The two =
non-restricted
 groups are scheduled, then one is removed, which happens to occupy =
the two
 counters that can't do restricted events.  The remaining =
non-restricted
 group will not be moved to the non-restricted-capable counters to =
make
 room if the restricted group tries to be scheduled.
=20
Signed-off-by: Scott Wood <redacted>
---
Changes from previous version:
- Factored out callchain makefile patch
- Split up header files
- Renamed pmu struct
- Added threshold support
=20
arch/powerpc/include/asm/perf_event.h              |  133 +----
arch/powerpc/include/asm/perf_event_fsl_emb.h      |   50 ++
.../asm/{perf_event.h =3D> perf_event_server.h}      |    4 +-
arch/powerpc/include/asm/reg_fsl_emb.h             |    2 +-
arch/powerpc/kernel/Makefile                       |    4 +
arch/powerpc/kernel/cputable.c                     |    2 +-
arch/powerpc/kernel/e500-pmu.c                     |  129 ++++
arch/powerpc/kernel/perf_event_fsl_emb.c           |  654 =
++++++++++++++++++++
arch/powerpc/platforms/Kconfig.cputype             |   10 +
9 files changed, 874 insertions(+), 114 deletions(-)
rewrite arch/powerpc/include/asm/perf_event.h (92%)
create mode 100644 arch/powerpc/include/asm/perf_event_fsl_emb.h
rename arch/powerpc/include/asm/{perf_event.h =3D> =
perf_event_server.h} (98%)
create mode 100644 arch/powerpc/kernel/e500-pmu.c
create mode 100644 arch/powerpc/kernel/perf_event_fsl_emb.c
Paul do you intend to Ack this or don't care?

- k
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help