powerpc/oprofile: Handle events that raise an exception without overflowing
authorEric B Munson <emunson@mgebm.net>
Mon, 23 May 2011 04:22:40 +0000 (04:22 +0000)
committerSteve Conklin <sconklin@canonical.com>
Fri, 15 Jul 2011 17:20:49 +0000 (12:20 -0500)
commit6382d90f38a9a92b683b1e58f8e714794b073dd0
tree053c7c39ae2b830c559e3ce6f40e662503da453e
parent914bdd67696f8ba03bc571b64778ed7560b4c4ef
powerpc/oprofile: Handle events that raise an exception without overflowing

BugLink: http://bugs.launchpad.net/bugs/793702

commit ad5d5292f16c6c1d7d3e257c4c7407594286b97e upstream.

Commit 0837e3242c73566fc1c0196b4ec61779c25ffc93 fixes a situation on POWER7
where events can roll back if a specualtive event doesn't actually complete.
This can raise a performance monitor exception.  We need to catch this to ensure
that we reset the PMC.  In all cases the PMC will be less than 256 cycles from
overflow.

This patch lifts Anton's fix for the problem in perf and applies it to oprofile
as well.

Signed-off-by: Eric B Munson <emunson@mgebm.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
arch/powerpc/oprofile/op_model_power4.c