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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Jun 2011 00:31:32 +0000 (09:31 +0900)
commit002b0d10cb04e5e4036e0d3fd830f2cca81be69b
treeb256ac541c500da68b1befcb6c3a761f63648793
parentae408510ef79d498015ab8614a70616175b211bc
powerpc/oprofile: Handle events that raise an exception without overflowing

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>
arch/powerpc/oprofile/op_model_power4.c