perf, powerpc: Handle events that raise an exception without overflowing
authorAnton Blanchard <anton@samba.org>
Wed, 9 Mar 2011 03:38:42 +0000 (14:38 +1100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:16:52 +0000 (13:16 -0700)
commit3a579b0ce569d5738120d74bdcc8f76b740c97c4
treea4dfc9175077f4e33949b110b5a4ec645d2d6486
parent6f197b73304b3bd3d5a43b931383a5331d6b2987
perf, powerpc: Handle events that raise an exception without overflowing

commit 0837e3242c73566fc1c0196b4ec61779c25ffc93 upstream.

Events on POWER7 can roll back if a speculative event doesn't
eventually complete. Unfortunately in some rare cases they will
raise a performance monitor exception. We need to catch this to
ensure we reset the PMC. In all cases the PMC will be 256 or less
cycles from overflow.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20110309143842.6c22845e@kryten>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/perf_event.c