Re: [perfmon2] [PATCH 1/2] perf_events: add support for per-cpu per-cgroup monitoring (v5)
Status: Beta
Brought to you by:
seranian
From: Stephane E. <er...@go...> - 2010-11-25 14:53:09
|
On Thu, Nov 25, 2010 at 12:20 PM, Peter Zijlstra <pe...@in...> 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. |