linux/arch/powerpc
Michael Neuling bc09c219b2 powerpc/perf: Fix finding overflowed PMC in interrupt
If a PMC is about to overflow on a counter that's on an active perf event
(ie. less than 256 from the end) and a _different_ PMC overflows just at this
time (a PMC that's not on an active perf event), we currently mark the event as
found, but in reality it's not as it's likely the other PMC that caused the
IRQ.  Since we mark it as found the second catch all for overflows doesn't run,
and we don't reset the overflowing PMC ever.  Hence we keep hitting that same
PMC IRQ over and over and don't reset the actual overflowing counter.

This is a rewrite of the perf interrupt handler for book3s to get around this.
We now check to see if any of the PMCs have actually overflowed (ie >=
0x80000000).  If yes, record it for active counters and just reset it for
inactive counters.  If it's not overflowed, then we check to see if it's one of
the buggy power7 counters and if it is, record it and continue.  If none of the
PMCs match this, then we make note that we couldn't find the PMC that caused
the IRQ.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Reviewed-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
cc: Paul Mackerras <paulus@samba.org>
cc: Anton Blanchard <anton@samba.org>
cc: Linux PPC dev <linuxppc-dev@ozlabs.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-10 17:02:01 +11:00
..
boot powerpc/dts/virtex440: Add ethernet phy to virtex440-ml507 board 2013-01-10 15:09:05 +11:00
configs powerpc: Enable devtmpfs, EFI partition support and tmpfs ACLs on pseries, ppc64 and ppc64e defconfig 2013-01-10 17:01:25 +11:00
crypto powerpc: Add a powerpc implementation of SHA-1 2013-01-10 14:43:45 +11:00
include powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
kernel powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
kvm powerpc: Disable relocation on exceptions whenever PR KVM is active 2013-01-10 17:00:42 +11:00
lib powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
math-emu
mm powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint registers 2013-01-10 17:01:44 +11:00
net PPC: net: bpf_jit_comp: add VLAN instructions for BPF JIT 2012-11-17 22:12:47 -05:00
oprofile powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
perf powerpc/perf: Fix finding overflowed PMC in interrupt 2013-01-10 17:02:01 +11:00
platforms powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
sysdev powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
xmon powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint registers 2013-01-10 17:01:44 +11:00
Kconfig powerpc: Enable ARCH_USE_BUILTIN_BSWAP 2013-01-10 17:00:54 +11:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl