Re: [RFC PATCH 0/2] perf_events: add support for per-cpu per-cgroup monitoring (v3)

Stephane Eranian
2010-09-22T10:26:27Z

Hi,

Ok, early testing shows that this seems to be working fine with the
pid approach.
Of course it is less convenient than just opening a file descriptor in
cgroup_fs.
There is more bookkeeping involved, incl. cleanup the child on exit.

The other thing is related to how to indicate we want cgroup and not per-thread.
For now, my patch is using a new attr.cgroup bit. The alternative is to use a
bit in the flags parameter to the syscall.

On Wed, Sep 22, 2010 at 11:18 AM, Balbir Singh
<balbir@linux.vnet.ibm.com> wrote:
> * Peter Zijlstra <peterz@infradead.org> [2010-09-22 09:27:59]:
>
>> On Wed, 2010-09-22 at 09:53 +0530, Balbir Singh wrote:
>> > Yes, a task can belong to multiple subsystems, hence multiple cgroups.
>> > Ideally we'd want to use pid + subsystem
>>
>> Apparently we create a perf subsystem, and we only care about that. So
>> pid will uniquely identify a cgroup, since for each subsystem a task can
>> only belong to one cgroup.
>
> Hmm.. I misread the intention to mean we care about monitoring all
> data and aggregate it for each cgroup.
>
>>
>> > > One thing we could do is pass this cgroup identifier in the pid field
>> > > and use PERF_FLAG_CGROUP or something. Currently the syscall signature
>> > > uses pid_t, but I think we can safely change that to int.
>> >
>> > Or union it and overload the field to contain either pid_t or fd of the cgroup
>>
>> Its not a field, its an argument.
>
> Thanks!
>
> --
>        Three Cheers,
>        Balbir
>