linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] x86/perf/intel: Introduce PMU flag for Extended PEBS
@ 2018-03-09  2:15 kan.liang
  2018-03-09  2:15 ` [PATCH 2/4] x86/perf/intel: Support PEBS on fixed counters kan.liang
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: kan.liang @ 2018-03-09  2:15 UTC (permalink / raw)
  To: peterz, tglx, mingo, linux-kernel
  Cc: acme, alexander.shishkin, vincent.weaver, jolsa, ak, Kan Liang

From: Kan Liang <kan.liang@linux.intel.com>

The Extended PEBS feature, introduced in Goldmont Plus
microarchitecture, supports all events as "Extended PEBS".

Introduce flag PMU_FL_PEBS_ALL to indicate the platforms which support
extended PEBS.
To support all events, it needs to support all constraints for PEBS. To
avoid duplicating all the constraints in the PEBS table, making the PEBS
code search the normal constraints too.

Based-on-code-from: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
---
 arch/x86/events/intel/ds.c   | 7 +++++++
 arch/x86/events/perf_event.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c
index 0366cd3159ca..4fa43f65835e 100644
--- a/arch/x86/events/intel/ds.c
+++ b/arch/x86/events/intel/ds.c
@@ -869,6 +869,13 @@ struct event_constraint *intel_pebs_constraints(struct perf_event *event)
 		}
 	}
 
+	/*
+	 * Extended PEBS support
+	 * Makes the PEBS code search the normal constraints.
+	 */
+	if (x86_pmu.flags & PMU_FL_PEBS_ALL)
+		return NULL;
+
 	return &emptyconstraint;
 }
 
diff --git a/arch/x86/events/perf_event.h b/arch/x86/events/perf_event.h
index bb90184410ab..598892e001b5 100644
--- a/arch/x86/events/perf_event.h
+++ b/arch/x86/events/perf_event.h
@@ -668,6 +668,7 @@ do {									\
 #define PMU_FL_HAS_RSP_1	0x2 /* has 2 equivalent offcore_rsp regs   */
 #define PMU_FL_EXCL_CNTRS	0x4 /* has exclusive counter requirements  */
 #define PMU_FL_EXCL_ENABLED	0x8 /* exclusive counter active */
+#define PMU_FL_PEBS_ALL		0x10 /* all events are valid PEBS events */
 
 #define EVENT_VAR(_id)  event_attr_##_id
 #define EVENT_PTR(_id) &event_attr_##_id.attr.attr
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-07-25 14:34 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09  2:15 [PATCH 1/4] x86/perf/intel: Introduce PMU flag for Extended PEBS kan.liang
2018-03-09  2:15 ` [PATCH 2/4] x86/perf/intel: Support PEBS on fixed counters kan.liang
2018-07-25 14:32   ` [tip:perf/core] perf/x86/intel: " tip-bot for Kan Liang
2018-03-09  2:15 ` [PATCH 3/4] perf/x86/intel/ds: Handle PEBS overflow for " kan.liang
2018-07-23 14:59   ` Peter Zijlstra
2018-07-23 15:02     ` Peter Zijlstra
2018-07-23 16:21     ` Peter Zijlstra
2018-07-23 16:56       ` Liang, Kan
2018-07-23 17:15         ` Liang, Kan
2018-07-25 14:33   ` [tip:perf/core] " tip-bot for Kan Liang
2018-03-09  2:15 ` [PATCH 4/4] perf/x86/intel: Support Extended PEBS for Goldmont Plus kan.liang
2018-07-25 14:33   ` [tip:perf/core] " tip-bot for Kan Liang
2018-07-23 15:16 ` [PATCH 1/4] x86/perf/intel: Introduce PMU flag for Extended PEBS Peter Zijlstra
2018-07-23 15:43   ` Liang, Kan
2018-07-23 15:50     ` Peter Zijlstra
2018-07-25 14:31 ` [tip:perf/core] perf/x86/intel: " tip-bot for Kan Liang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).