perf/x86: Fix microcode revision check for SNB-PEBS
authorStephane Eranian <eranian@google.com>
Fri, 24 Aug 2012 13:34:34 +0000 (15:34 +0200)
committerIngo Molnar <mingo@kernel.org>
Mon, 27 Aug 2012 06:48:19 +0000 (08:48 +0200)
commite3e45c01ae690e65f2650e5288b9af802e95a136
tree8a1032f058653b75bd0d4c975e93e1c4316a44db
parent9acb172543aecb783e2e1e53e3f447d4c0f5c150
perf/x86: Fix microcode revision check for SNB-PEBS

The following patch makes the microcode update code path
actually invoke the perf_check_microcode() function and
thus potentially renabling SNB PEBS.

By default, CONFIG_MICROCODE_OLD_INTERFACE is
forced to Y in arch/x86/Kconfig. There is no
way to disable this. That means that the code
path used in arch/x86/kernel/microcode_core.c
did not include the call to perf_check_microcode().

Thus, even though the microcode was updated to a
version that fixes the SNB PEBS problem, perf_event
would still return EOPNOTSUPP when enabling precise
sampling.

This patch simply adds a call to perf_check_microcode()
in the call path used when OLD_INTERFACE=y.

Signed-off-by: Stephane Eranian <eranian@google.com>
Acked-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: peterz@infradead.org
Cc: andi@firstfloor.org
Link: http://lkml.kernel.org/r/20120824133434.GA8014@quad
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/microcode_core.c