From fc7bcaf07620dd8f429b1d229b824bc2818406f5 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 2 Oct 2012 15:41:23 +0200 Subject: [PATCH] --- yaml --- r: 333973 b: refs/heads/master c: 95cf59ea72331d0093010543b8951bb43f262cac h: refs/heads/master i: 333971: 83e5486ac23a1e6790f7fd7a6b6772088f1c5c8c v: v3 --- [refs] | 2 +- trunk/kernel/events/core.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index fb43134db37d..a93a8a5f530e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3f1f33206c16c7b3839d71372bc2ac3f305aa802 +refs/heads/master: 95cf59ea72331d0093010543b8951bb43f262cac diff --git a/trunk/kernel/events/core.c b/trunk/kernel/events/core.c index 81939e8999a5..fd15593c7f54 100644 --- a/trunk/kernel/events/core.c +++ b/trunk/kernel/events/core.c @@ -372,6 +372,8 @@ void perf_cgroup_switch(struct task_struct *task, int mode) list_for_each_entry_rcu(pmu, &pmus, entry) { cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); + if (cpuctx->unique_pmu != pmu) + continue; /* ensure we process each cpuctx once */ /* * perf_cgroup_events says at least one @@ -395,9 +397,10 @@ void perf_cgroup_switch(struct task_struct *task, int mode) if (mode & PERF_CGROUP_SWIN) { WARN_ON_ONCE(cpuctx->cgrp); - /* set cgrp before ctxsw in to - * allow event_filter_match() to not - * have to pass task around + /* + * set cgrp before ctxsw in to allow + * event_filter_match() to not have to pass + * task around */ cpuctx->cgrp = perf_cgroup_from_task(task); cpu_ctx_sched_in(cpuctx, EVENT_ALL, task);