Li,

On Fri, Feb 11, 2011 at 1:55 AM, Li Zefan <l...@cn.fujitsu.com> wrote:
>>>> while there is already cgroup monitoring active. In that case and if we do 
>>>> not
>>>> want to wait until there is at least one ctxsw on all CPUs, then we have to
>>>> check if the other threads are not already running on the other CPUs.If so,
>>>> we need to do a cgroup switch on those CPUs. Otherwise, we have nothing to
>>>> do. Am I getting this right?
>>>
>>> Right, so if any of those tasks is currently running, that cpu will be
>>> monitoring their old cgroup, hence we send an IPI to flip cgroups.
>>>
>> I have built a test case where this would trigger. I launched a 
>> multi-threaded
>> app, and then I move the pid into a cgroup via: echo PID 
>> >/cgroup/tests/tasks.
>> I don't see any perf_cgroup move beyond the PID passed.
>>
>> I looked at kernel/cgroup.c and I could not find a invocation of
>> ss->attach() that
>> would pass threadgroup = true. So I am confused here.
>>
>> I wonder how the cgroupfs 'echo PID >tasks' interface would make the 
>> distinction
>> between PID and TID. It seems possible to move one thread of a multi-threaded
>> process into a cgroup but not the others.
>>
>
> You can do this:
>
>        # echo PID > cgroup.procs
>
> When the patchset that implements the above feature is accepted. See:
>
>        https://lkml.org/lkml/2011/2/7/418
>
> The below commit that confused you is actually a part of the above patchset,
> but it sneaked into the kernel accidentally:
>
> commit be367d09927023d081f9199665c8500f69f14d22
> Author: Ben Blum <bb...@google.com>
> Date:   Wed Sep 23 15:56:31 2009 -0700
>
>    cgroups: let ss->can_attach and ss->attach do whole threadgroups at a time
>
Ok, that makes more sense now. I wil try with the above patchset applied to
verify this work as expected.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to