[PATCH v3 35/46] perf/x86/intel/cmt: use PERF_EV_CAP_CGROUP_NO_RECURSION in intel_cmt

From: David Carrillo-Cisneros
Date: Sat Oct 29 2016 - 20:43:45 EST


Use newly added flag.

Signed-off-by: David Carrillo-Cisneros <davidcc@xxxxxxxxxx>
---
arch/x86/events/intel/cmt.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/x86/events/intel/cmt.c b/arch/x86/events/intel/cmt.c
index 614b2f4..194038b 100644
--- a/arch/x86/events/intel/cmt.c
+++ b/arch/x86/events/intel/cmt.c
@@ -1734,6 +1734,14 @@ static int intel_cmt_event_init(struct perf_event *event)
INIT_LIST_HEAD(&event->hw.cmt_list);

/*
+ * CMT hw only allows one rmid per core at the time and therefore
+ * it is not compatible with the way generic code handles cgroup
+ * dependencies.
+ */
+ if (event->cgrp)
+ event->event_caps |= PERF_EV_CAP_CGROUP_NO_RECURSION;
+
+ /*
* Task events can be read in any CPU in any package. CPU events
* only in CPU's package. Both can read even if inactive.
*/
--
2.8.0.rc3.226.g39d4020