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

2020-12-03 Thread Namhyung Kim
On Thu, Dec 3, 2020 at 9:20 PM Peter Zijlstra wrote: > > On Wed, Dec 02, 2020 at 11:28:28AM -0800, Andi Kleen 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

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

2020-12-03 Thread Namhyung Kim
On Thu, Dec 3, 2020 at 4:45 PM Peter Zijlstra wrote: > > On Thu, Dec 03, 2020 at 11:10:30AM +0900, Namhyung Kim wrote: > > On Thu, Dec 3, 2020 at 1:19 AM Peter Zijlstra wrote: > > > > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > > > index 9a38f579bc76..5eb284819ee5 100

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

2020-12-03 Thread Peter Zijlstra
On Wed, Dec 02, 2020 at 11:28:28AM -0800, Andi Kleen 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_C

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

2020-12-02 Thread Peter Zijlstra
On Thu, Dec 03, 2020 at 11:10:30AM +0900, Namhyung Kim wrote: > On Thu, Dec 3, 2020 at 1:19 AM Peter Zijlstra wrote: > > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > > index 9a38f579bc76..5eb284819ee5 100644 > > --- a/include/linux/perf_event.h > > +++ b/include/linux/

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

2020-12-02 Thread Namhyung Kim
On Thu, Dec 3, 2020 at 1:19 AM Peter Zijlstra wrote: > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 9a38f579bc76..5eb284819ee5 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1174,25 +1174,19 @@ DECLARE_PER_CPU(struct pt_regs, __p

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

2020-12-02 Thread Namhyung Kim
Hi Stephane and Andi, On Thu, Dec 3, 2020 at 8:40 AM Stephane Eranian wrote: > > On Wed, Dec 2, 2020 at 2:42 PM Andi Kleen 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 wrote: > > > > > > > > > + prev_cgrp =

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

2020-12-02 Thread Namhyung Kim
Hi Peter, On Thu, Dec 3, 2020 at 1:19 AM Peter Zijlstra wrote: > > On Thu, Dec 03, 2020 at 12:02:04AM +0900, Namhyung Kim wrote: > > > +#ifdef CONFIG_CGROUP_PERF > > +static inline void > > +perf_sw_event_cgroup_switch(struct task_struct *prev, struct task_struct > > *next) > > +{ > > + stru

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

2020-12-02 Thread Stephane Eranian
On Wed, Dec 2, 2020 at 2:42 PM Andi Kleen 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 wrote: > > > > > > > + prev_cgrp = task_css_check(prev, perf_event_cgrp_id, 1)->cgroup; > > > > + next_cgrp = task_css_chec

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

2020-12-02 Thread Andi Kleen
On Wed, Dec 02, 2020 at 11:47:25AM -0800, Stephane Eranian wrote: > On Wed, Dec 2, 2020 at 11:28 AM Andi Kleen 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

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

2020-12-02 Thread Stephane Eranian
On Wed, Dec 2, 2020 at 11:28 AM Andi Kleen 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_

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

2020-12-02 Thread Andi Kleen
> + 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

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

2020-12-02 Thread Peter Zijlstra
On Thu, Dec 03, 2020 at 12:02:04AM +0900, Namhyung Kim wrote: > +#ifdef CONFIG_CGROUP_PERF > +static inline void > +perf_sw_event_cgroup_switch(struct task_struct *prev, struct task_struct > *next) > +{ > + struct cgroup *prev_cgrp, *next_cgrp; > + > + rcu_read_lock(); > + > + prev_cg