Re: [PATCH 1/9] perf/core: Add PERF_RECORD_CGROUP event

From: Peter Zijlstra
Date: Tue Jan 07 2020 - 07:51:48 EST


On Mon, Dec 23, 2019 at 03:07:51PM +0900, Namhyung Kim wrote:

> @@ -7564,6 +7567,105 @@ void perf_event_namespaces(struct task_struct *task)
> NULL);
> }
>
> +/*
> + * cgroup tracking
> + */
> +#ifdef CONFIG_CGROUPS
> +

<snip>

> +
> +#endif
> +
> /*
> * mmap tracking
> */

> @@ -12581,6 +12685,12 @@ static void perf_cgroup_css_free(struct cgroup_subsys_state *css)
> kfree(jc);
> }
>
> +static int perf_cgroup_css_online(struct cgroup_subsys_state *css)
> +{
> + perf_event_cgroup(css->cgroup);
> + return 0;
> +}
> +
> static int __perf_cgroup_move(void *info)
> {
> struct task_struct *task = info;
> @@ -12602,6 +12712,7 @@ static void perf_cgroup_attach(struct cgroup_taskset *tset)
> struct cgroup_subsys perf_event_cgrp_subsys = {
> .css_alloc = perf_cgroup_css_alloc,
> .css_free = perf_cgroup_css_free,
> + .css_online = perf_cgroup_css_online,
> .attach = perf_cgroup_attach,
> /*
> * Implicitly enable on dfl hierarchy so that perf events can

CONFIG_CGROUPS vs CONFIG_CGROUP_PERF ?

Other than that, I see nothing wrong here.