From: "tip-bot2 for Chengming Zhou" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Chengming Zhou <zhouchengming@bytedance.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: perf/urgent] perf/core: Always set cpuctx cgrp when enable cgroup event
Date: Tue, 05 Apr 2022 08:29:02 -0000 [thread overview]
Message-ID: <164914734200.389.12009651583412320175.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20220329154523.86438-5-zhouchengming@bytedance.com>
The following commit has been merged into the perf/urgent branch of tip:
Commit-ID: e19cd0b6fa5938c51d7b928010d584f0de93913a
Gitweb: https://git.kernel.org/tip/e19cd0b6fa5938c51d7b928010d584f0de93913a
Author: Chengming Zhou <zhouchengming@bytedance.com>
AuthorDate: Tue, 29 Mar 2022 23:45:23 +08:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Tue, 05 Apr 2022 09:59:45 +02:00
perf/core: Always set cpuctx cgrp when enable cgroup event
When enable a cgroup event, cpuctx->cgrp setting is conditional
on the current task cgrp matching the event's cgroup, so have to
do it for every new event. It brings complexity but no advantage.
To keep it simple, this patch would always set cpuctx->cgrp
when enable the first cgroup event, and reset to NULL when disable
the last cgroup event.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220329154523.86438-5-zhouchengming@bytedance.com
---
kernel/events/core.c | 18 ++----------------
1 file changed, 2 insertions(+), 16 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index bdeb41f..23bb197 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -967,22 +967,10 @@ perf_cgroup_event_enable(struct perf_event *event, struct perf_event_context *ct
*/
cpuctx = container_of(ctx, struct perf_cpu_context, ctx);
- /*
- * Since setting cpuctx->cgrp is conditional on the current @cgrp
- * matching the event's cgroup, we must do this for every new event,
- * because if the first would mismatch, the second would not try again
- * and we would leave cpuctx->cgrp unset.
- */
- if (ctx->is_active && !cpuctx->cgrp) {
- struct perf_cgroup *cgrp = perf_cgroup_from_task(current, ctx);
-
- if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup))
- cpuctx->cgrp = cgrp;
- }
-
if (ctx->nr_cgroups++)
return;
+ cpuctx->cgrp = perf_cgroup_from_task(current, ctx);
list_add(&cpuctx->cgrp_cpuctx_entry,
per_cpu_ptr(&cgrp_cpuctx_list, event->cpu));
}
@@ -1004,9 +992,7 @@ perf_cgroup_event_disable(struct perf_event *event, struct perf_event_context *c
if (--ctx->nr_cgroups)
return;
- if (ctx->is_active && cpuctx->cgrp)
- cpuctx->cgrp = NULL;
-
+ cpuctx->cgrp = NULL;
list_del(&cpuctx->cgrp_cpuctx_entry);
}
next prev parent reply other threads:[~2022-04-05 10:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-29 15:45 [PATCH v4 0/4] perf/core: Fixes for cgroup events Chengming Zhou
2022-03-29 15:45 ` [PATCH v4 1/4] perf/core: Don't pass task around when ctx sched in Chengming Zhou
2022-04-05 8:29 ` [tip: perf/urgent] " tip-bot2 for Chengming Zhou
2022-03-29 15:45 ` [PATCH v4 2/4] perf/core: Use perf_cgroup_info->active to check if cgroup is active Chengming Zhou
2022-04-05 8:29 ` [tip: perf/urgent] " tip-bot2 for Chengming Zhou
2022-03-29 15:45 ` [PATCH v4 3/4] perf/core: Fix perf_cgroup_switch() Chengming Zhou
2022-04-05 8:29 ` [tip: perf/urgent] " tip-bot2 for Chengming Zhou
2022-03-29 15:45 ` [PATCH v4 4/4] perf/core: Always set cpuctx cgrp when enable cgroup event Chengming Zhou
2022-04-05 8:29 ` tip-bot2 for Chengming Zhou [this message]
2022-03-31 8:14 ` [PATCH v4 0/4] perf/core: Fixes for cgroup events Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=164914734200.389.12009651583412320175.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
--cc=zhouchengming@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®