summaryrefslogtreecommitdiffstats
path: root/kernel/events
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-12-10 16:21:55 -0500
committerDavid S. Miller <davem@davemloft.net>2016-12-10 16:21:55 -0500
commit821781a9f40673c2aa0f29d9d8226ec320dff20c (patch)
treec9d5cb8a184fff84a9d841d8cb5da4b26be5c551 /kernel/events
parent3174fed9820edc95cff74ad0934c3240c7fb5115 (diff)
parent045169816b31b10faed984b01c390db1b32ee4c1 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/core.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 22cc734aa1b2..faf073d0287f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -903,17 +903,14 @@ list_update_cgroup_event(struct perf_event *event,
903 */ 903 */
904 cpuctx = __get_cpu_context(ctx); 904 cpuctx = __get_cpu_context(ctx);
905 905
906 /* Only set/clear cpuctx->cgrp if current task uses event->cgrp. */ 906 /*
907 if (perf_cgroup_from_task(current, ctx) != event->cgrp) { 907 * cpuctx->cgrp is NULL until a cgroup event is sched in or
908 /* 908 * ctx->nr_cgroup == 0 .
909 * We are removing the last cpu event in this context. 909 */
910 * If that event is not active in this cpu, cpuctx->cgrp 910 if (add && perf_cgroup_from_task(current, ctx) == event->cgrp)
911 * should've been cleared by perf_cgroup_switch. 911 cpuctx->cgrp = event->cgrp;
912 */ 912 else if (!add)
913 WARN_ON_ONCE(!add && cpuctx->cgrp); 913 cpuctx->cgrp = NULL;
914 return;
915 }
916 cpuctx->cgrp = add ? event->cgrp : NULL;
917} 914}
918 915
919#else /* !CONFIG_CGROUP_PERF */ 916#else /* !CONFIG_CGROUP_PERF */