On Tuesday 12 July 2016 06:34 PM, Peter Zijlstra wrote:
> On Tue, Jul 12, 2016 at 03:41:42PM +0300, Nikolay Borisov wrote:
> 
>> Namespaces and cgroups are completely orthogonal to one another. 
> 
> Then how do you specify what your new 'root' is? Surely you must first
> create a cgroup and then confine yourself to that?

No need to create cgroup and confine processes to that cgroup. The below
check during event filtering will take care:

+       if (cpuctx->perf_ns != event->perf_ns)
+               return false;

event->perf_ns is set during perf_event_alloc():

+       if (current->nsproxy->perf_ns != &init_perf_ns) {
+               /*
+                * If we are called from our own perf namespace, set
+                * event->perf_ns
+                */
+               event->perf_ns = current->nsproxy->perf_ns;
+               [...]
+       }

> 
>> Also in the v1 of cgroups it's possible to have a process member of
>> more than 1 cgroup.
> 
> Yeah, so? We only care about the perf controller obviously.
> 

-- 
Regards,
Aravinda

Reply via email to