Re: [PATCH 1/2] perf_events: add support for per-cpu per-cgroupmonitoring (v5)

From: Stephane Eranian
Date: Thu Nov 25 2010 - 09:53:12 EST


On Thu, Nov 25, 2010 at 12:20 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Thu, 2010-11-18 at 12:40 +0200, Stephane Eranian wrote:
> > @@ -919,6 +945,10 @@ static inline void perf_event_task_sched_in(struct task_struct *task)
> > Âstatic inline
> > Âvoid perf_event_task_sched_out(struct task_struct *task, struct task_struct *next)
> > Â{
> > +#ifdef CONFIG_CGROUPS
> > + Â Â Â atomic_t *cgroup_events = &__get_cpu_var(perf_cgroup_events);
> > + Â Â Â COND_STMT(cgroup_events, perf_cgroup_switch(task, next));
> > +#endif
> > Â Â Â Â COND_STMT(&perf_task_events, __perf_event_task_sched_out(task, next));
> > Â}
>
> I don't think that'll actually work, the jump label stuff needs a static
> address.
>

I did not know that.

> Why not simply: s/perf_task_events/perf_sched_events/ and increment it
> for cgroup events as well?
>

But you would need to demultiplex. that's not because perf_sched_events is
set that you want BOTH perf_cgroup_switch() AND perf_event_task_sched_out().
Cgroup mode is per-cpu only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/