diff options
author | Kan Liang <kan.liang@linux.intel.com> | 2018-03-08 21:15:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-07-25 05:50:50 -0400 |
commit | a38b0ba1b7d2e7a6d19877540240e8a4352fc93c (patch) | |
tree | 596ec808e03201ae53a5f83050956a382705a676 | |
parent | ec71a398c1bf6d8188cb24ebab6f5202523d95e1 (diff) |
perf/x86/intel: Support Extended PEBS for Goldmont Plus
Enable the extended PEBS for Goldmont Plus.
There is no specific PEBS constrains for Goldmont Plus. Removing the
pebs_constraints for Goldmont Plus.
Signed-off-by: Kan Liang <kan.liang@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
Link: http://lkml.kernel.org/r/20180309021542.11374-4-kan.liang@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/events/intel/core.c | 2 | ||||
-rw-r--r-- | arch/x86/events/intel/ds.c | 6 |
2 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index b1a49a108a59..035c37481f57 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c | |||
@@ -4077,7 +4077,6 @@ __init int intel_pmu_init(void) | |||
4077 | intel_pmu_lbr_init_skl(); | 4077 | intel_pmu_lbr_init_skl(); |
4078 | 4078 | ||
4079 | x86_pmu.event_constraints = intel_slm_event_constraints; | 4079 | x86_pmu.event_constraints = intel_slm_event_constraints; |
4080 | x86_pmu.pebs_constraints = intel_glp_pebs_event_constraints; | ||
4081 | x86_pmu.extra_regs = intel_glm_extra_regs; | 4080 | x86_pmu.extra_regs = intel_glm_extra_regs; |
4082 | /* | 4081 | /* |
4083 | * It's recommended to use CPU_CLK_UNHALTED.CORE_P + NPEBS | 4082 | * It's recommended to use CPU_CLK_UNHALTED.CORE_P + NPEBS |
@@ -4087,6 +4086,7 @@ __init int intel_pmu_init(void) | |||
4087 | x86_pmu.pebs_prec_dist = true; | 4086 | x86_pmu.pebs_prec_dist = true; |
4088 | x86_pmu.lbr_pt_coexist = true; | 4087 | x86_pmu.lbr_pt_coexist = true; |
4089 | x86_pmu.flags |= PMU_FL_HAS_RSP_1; | 4088 | x86_pmu.flags |= PMU_FL_HAS_RSP_1; |
4089 | x86_pmu.flags |= PMU_FL_PEBS_ALL; | ||
4090 | x86_pmu.get_event_constraints = glp_get_event_constraints; | 4090 | x86_pmu.get_event_constraints = glp_get_event_constraints; |
4091 | x86_pmu.cpu_events = glm_events_attrs; | 4091 | x86_pmu.cpu_events = glm_events_attrs; |
4092 | /* Goldmont Plus has 4-wide pipeline */ | 4092 | /* Goldmont Plus has 4-wide pipeline */ |
diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c index 595b96ae8a00..b7b01d762d32 100644 --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c | |||
@@ -713,12 +713,6 @@ struct event_constraint intel_glm_pebs_event_constraints[] = { | |||
713 | EVENT_CONSTRAINT_END | 713 | EVENT_CONSTRAINT_END |
714 | }; | 714 | }; |
715 | 715 | ||
716 | struct event_constraint intel_glp_pebs_event_constraints[] = { | ||
717 | /* Allow all events as PEBS with no flags */ | ||
718 | INTEL_ALL_EVENT_CONSTRAINT(0, 0xf), | ||
719 | EVENT_CONSTRAINT_END | ||
720 | }; | ||
721 | |||
722 | struct event_constraint intel_nehalem_pebs_event_constraints[] = { | 716 | struct event_constraint intel_nehalem_pebs_event_constraints[] = { |
723 | INTEL_PLD_CONSTRAINT(0x100b, 0xf), /* MEM_INST_RETIRED.* */ | 717 | INTEL_PLD_CONSTRAINT(0x100b, 0xf), /* MEM_INST_RETIRED.* */ |
724 | INTEL_FLAGS_EVENT_CONSTRAINT(0x0f, 0xf), /* MEM_UNCORE_RETIRED.* */ | 718 | INTEL_FLAGS_EVENT_CONSTRAINT(0x0f, 0xf), /* MEM_UNCORE_RETIRED.* */ |