]> git.baikalelectronics.ru Git - kernel.git/commit
perf/x86/intel: Make the HT bug workaround conditional on HT enabled
authorStephane Eranian <eranian@google.com>
Mon, 17 Nov 2014 19:07:04 +0000 (20:07 +0100)
committerIngo Molnar <mingo@kernel.org>
Thu, 2 Apr 2015 15:33:15 +0000 (17:33 +0200)
commit1d357dc0540100040f85003224f09f291fa9d3c8
tree4b7d2a6af573999133bfe9a9aecbc7d1df3d1dbe
parent9df86312826e59589b1e60d5e8421e848739d50b
perf/x86/intel: Make the HT bug workaround conditional on HT enabled

This patch disables the PMU HT bug when Hyperthreading (HT)
is disabled. We cannot do this test immediately when perf_events
is initialized. We need to wait until the topology information
is setup properly. As such, we register a later initcall, check
the topology and potentially disable the workaround. To do this,
we need to ensure there is no user of the PMU. At this point of
the boot, the only user is the NMI watchdog, thus we disable
it during the switch and re-enable it right after.

Having the workaround disabled when it is not needed provides
some benefits by limiting the overhead is time and space.
The workaround still ensures correct scheduling of the corrupting
memory events (0xd0, 0xd1, 0xd2) when HT is off. Those events
can only be measured on counters 0-3. Something else the current
kernel did not handle correctly.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: bp@alien8.de
Cc: jolsa@redhat.com
Cc: kan.liang@intel.com
Cc: maria.n.dimakopoulou@gmail.com
Link: http://lkml.kernel.org/r/1416251225-17721-13-git-send-email-eranian@google.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/perf_event.h
arch/x86/kernel/cpu/perf_event_intel.c