powerpc/perf: Fix MMCR2 handling for EBB
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 23 Jul 2014 07:20:04 +0000 (17:20 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 23 Jul 2014 07:16:47 +0000 (17:16 +1000)
commit8903461c9bc56fcb041fb92d054e2529951770b6
tree56c803836b9612a4e0cf25471df04621a4307cbd
parent6f5405bc2ee0102bb3856e2cdea64ff415db2e0c
powerpc/perf: Fix MMCR2 handling for EBB

In the recent commit b50a6c584bb4 "Clear MMCR2 when enabling PMU", I
screwed up the handling of MMCR2 for tasks using EBB.

We must make sure we set MMCR2 *before* ebb_switch_in(), otherwise we
overwrite the value of MMCR2 that userspace may have written. That
potentially breaks a task that uses EBB and manually uses MMCR2 for
event freezing.

Fixes: b50a6c584bb4 ("powerpc/perf: Clear MMCR2 when enabling PMU")
Cc: stable@vger.kernel.org
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/perf/core-book3s.c