Re: [RFC 1/2] perf core: Add PERF_COUNT_SW_CGROUP_SWITCHES event

From: Namhyung Kim
Date: Wed Dec 02 2020 - 20:05:07 EST


Hi Stephane and Andi,

On Thu, Dec 3, 2020 at 8:40 AM Stephane Eranian <eranian@xxxxxxxxxx> wrote:
>
> On Wed, Dec 2, 2020 at 2:42 PM Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, Dec 02, 2020 at 11:47:25AM -0800, Stephane Eranian wrote:
> > > On Wed, Dec 2, 2020 at 11:28 AM Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> > > >
> > > > > + prev_cgrp = task_css_check(prev, perf_event_cgrp_id, 1)->cgroup;
> > > > > + next_cgrp = task_css_check(next, perf_event_cgrp_id, 1)->cgroup;
> > > > > +
> > > > > + if (prev_cgrp != next_cgrp)
> > > > > + perf_sw_event_sched(PERF_COUNT_SW_CGROUP_SWITCHES, 1, 0);
> > > >
> > > > Seems to be the perf cgroup only, not all cgroups.
> > > > That's a big difference and needs to be documented properly.
> > > >
> > > We care about the all-cgroup case.
> >
> > Then it's not correct I think. You need a different hook point.
> >
> I realize that ;-(

If we want to count any cgroup changes, I think we can compare
task->cgroups (css_set) here instead.

Thanks,
Namyung