Eric, On Thu, Sep 9, 2010 at 3:52 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > Le jeudi 09 septembre 2010 à 06:09 -0700, Stephane Eranian a écrit : >> This kernel patch adds the ability to filter monitoring based on >> container groups (cgroups). This is for use in per-cpu mode only. >> >> The patch adds perf_event_attr.cgroup, a boolean, to activate >> this new mode. The cgroup is designated by passing in >> perf_event_attr.cgroup_fd, an opened file descriptor to >> the <mnt>/<cgroup>/perf_event.perf file. >> >> This is the second version of this patch. It corrects the way >> time_enabled is accounted for. In cgroup mode, time_enabled reflects >> the time the cgroup was active, i.e., threads from the cgroup executed >> on the monitored CPU. This is a more useful metric than just >> wall-clock. The meaning of time_enabled without cgroup is unaffected. >> >> Signed-off-by: Stephane Eranian <eran...@google.com> > > >> +#ifdef CONFIG_CGROUPS >> +struct perf_cgroup_time { >> + u64 time; >> + u64 timestamp; >> +}; >> + >> +struct perf_cgroup { >> + struct cgroup_subsys_state css; >> + struct perf_cgroup_time *time; > > struct perf_cgroup_time __percpu *time; > > Please run sparse after this "__percpu" change. > > Will do.
>> + jc->time = alloc_percpu(struct perf_cgroup_time); >> + if (!jc->time) { >> + vfree(jc); >> + return ERR_PTR(-ENOMEM); >> + } >> + >> + for_each_possible_cpu(c) { >> + t = per_cpu_ptr(jc->time, c); >> + t->time = 0; >> + t->timestamp = 0; >> + } > > alloc_percpu() is zalloc_percpu() in fact, memory is already cleared. > I remember thinking about this and trying to trace to the code down to figure this out. But it is rather complicated. If alloc_percpu() always clears the memory, then I think that calling is zalloc_percpu() would be more helpful.... > > ------------------------------------------------------------------------------ Automate Storage Tiering Simply Optimize IT performance and efficiency through flexible, powerful, automated storage tiering capabilities. View this brief to learn how you can reduce costs and improve performance. http://p.sf.net/sfu/dell-sfdev2dev _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel