diff options
author | Andi Kleen <ak@linux.intel.com> | 2016-05-19 20:09:59 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-06-03 03:41:25 -0400 |
commit | 030ba6cd105c68ce919c5e239853b567490cd059 (patch) | |
tree | bf56a2794790b140c58c299c3c564ab02e140017 | |
parent | eb12b8ece71cfd4c96df37198b9903fc639768d8 (diff) |
perf/x86/intel: Use new topology_max_smt_threads() in HT leak workaround
Now that we have topology_max_smt_threads() use it
to detect the HT workarounds for older CPUs.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: acme@kernel.org
Cc: jolsa@kernel.org
Link: http://lkml.kernel.org/r/1463703002-19686-6-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/events/intel/core.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 593b1676b5d1..5081b4cdad0d 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c | |||
@@ -3989,16 +3989,14 @@ __init int intel_pmu_init(void) | |||
3989 | */ | 3989 | */ |
3990 | static __init int fixup_ht_bug(void) | 3990 | static __init int fixup_ht_bug(void) |
3991 | { | 3991 | { |
3992 | int cpu = smp_processor_id(); | 3992 | int c; |
3993 | int w, c; | ||
3994 | /* | 3993 | /* |
3995 | * problem not present on this CPU model, nothing to do | 3994 | * problem not present on this CPU model, nothing to do |
3996 | */ | 3995 | */ |
3997 | if (!(x86_pmu.flags & PMU_FL_EXCL_ENABLED)) | 3996 | if (!(x86_pmu.flags & PMU_FL_EXCL_ENABLED)) |
3998 | return 0; | 3997 | return 0; |
3999 | 3998 | ||
4000 | w = cpumask_weight(topology_sibling_cpumask(cpu)); | 3999 | if (topology_max_smt_threads() > 1) { |
4001 | if (w > 1) { | ||
4002 | pr_info("PMU erratum BJ122, BV98, HSD29 worked around, HT is on\n"); | 4000 | pr_info("PMU erratum BJ122, BV98, HSD29 worked around, HT is on\n"); |
4003 | return 0; | 4001 | return 0; |
4004 | } | 4002 | } |