]> git.itanic.dy.fi Git - linux-stable/commit
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:04:05 +0000 (13:04 -0700)
commitc1ccb911a49d7bd7f5b8233c51b1f5a40ddaba47
tree4d1effd7d36d10fbc3b2e9f90e8d7b93d589ebdc
parent0a5bdee8013fd9ac665185f47fc0b00e000c7d85
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