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>
Thu, 23 Jun 2011 22:24:00 +0000 (15:24 -0700)
commit24fb3f4cf3de9955eae325d421047c0f2dd6b48f
tree92e42fc66c70281250909a1916fae6dac13b88d3
parentc3bf52934198b95f7fb546bd4a544ab38d19be52
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