Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Tejun Heo
Hello, Waiman. On Wed, Jul 19, 2017 at 01:09:38PM -0400, Waiman Long wrote: > For me, that is the only good reason why we should keep the current > behavior. So I am fine with that. > > + cgrp->dom_cgrp = cgrp->dom_cgrp; > > However, I am still puzzled by above line of code, should it be just >

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Waiman Long
On 07/19/2017 12:29 PM, Tejun Heo wrote: > Hello, > > On Tue, Jul 18, 2017 at 01:23:14PM -0400, Waiman Long wrote: >>> If we could get rid of the invalid state completely that way, I'd >>> completely agree with you but that isn't the case here as you noted >>> yourself, so the choice between the tw

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Tejun Heo
Hello, Peter. On Wed, Jul 19, 2017 at 04:07:28PM +0200, Peter Zijlstra wrote: > On Tue, Jul 18, 2017 at 02:47:14PM -0400, Tejun Heo wrote: > > Were there other things that caught your eyes? > > I didn't immediately see the point of "domain (threaded" output, and I I'll probably drop the parens b

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Tejun Heo
Hello, On Tue, Jul 18, 2017 at 01:23:14PM -0400, Waiman Long wrote: > > If we could get rid of the invalid state completely that way, I'd > > completely agree with you but that isn't the case here as you noted > > yourself, so the choice between the two isn't something trivially > > clear. Both c

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Tejun Heo
Hello, Waiman. On Mon, Jul 17, 2017 at 05:12:31PM -0400, Waiman Long wrote: > > +Marking a cgroup threaded makes it join the resource domain of its > > +parent as a threaded cgroup. The parent may be another threaded > > +cgroup whose resource domain is further up in the hierarchy. The root > >

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-19 Thread Peter Zijlstra
On Tue, Jul 18, 2017 at 02:47:14PM -0400, Tejun Heo wrote: > Were there other things that caught your eyes? I didn't immediately see the point of "domain (threaded" output, and I think it might be useful to have a "threaded" column in /proc/cgroups. But no, I've been over this a few times now and

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Tejun Heo
On Tue, Jul 18, 2017 at 08:41:35PM +0200, Peter Zijlstra wrote: > On Tue, Jul 18, 2017 at 01:54:56PM -0400, Tejun Heo wrote: > > > Okay, we're kinda off the rails now. Just to verify that we're on the > > same page, are you also saying that the following should be a valid > > configuration? > >

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Peter Zijlstra
On Tue, Jul 18, 2017 at 01:54:56PM -0400, Tejun Heo wrote: > Okay, we're kinda off the rails now. Just to verify that we're on the > same page, are you also saying that the following should be a valid > configuration? > > R (D) > | > A (D and has processes in it and controlle

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Tejun Heo
Hello, Peter. On Tue, Jul 18, 2017 at 07:28:01PM +0200, Peter Zijlstra wrote: > > And now try to create another child C, should that be a domain or > > threaded? > > Domain of course, as R must be a domain, and hence all its children > start out as such. I don't think it's a matter of course as

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Waiman Long
On 07/18/2017 01:28 PM, Peter Zijlstra wrote: > On Mon, Jul 17, 2017 at 10:26:09AM -0400, Tejun Heo wrote: >> Hello, Peter. >> >> On Mon, Jul 17, 2017 at 04:14:09PM +0200, Peter Zijlstra wrote: >>> AFAICT this is not in fact what I suggested... :/ >> Heh, sorry about misattributing that. I was mos

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Peter Zijlstra
On Mon, Jul 17, 2017 at 10:26:09AM -0400, Tejun Heo wrote: > Hello, Peter. > > On Mon, Jul 17, 2017 at 04:14:09PM +0200, Peter Zijlstra wrote: > > AFAICT this is not in fact what I suggested... :/ > > Heh, sorry about misattributing that. I was mostly referring to the > overall idea of marking e

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Waiman Long
On 07/18/2017 01:10 PM, Tejun Heo wrote: > Hello, Waiman. > > On Tue, Jul 18, 2017 at 10:37:41AM -0400, Waiman Long wrote: >> Thinking about it some more. There is a place for invalid domain. It is >> not the child of a threaded cgroup. It is the siblings of a threaded >> cgroup whose parent is not

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Tejun Heo
Hello, Waiman. On Tue, Jul 18, 2017 at 10:37:41AM -0400, Waiman Long wrote: > Thinking about it some more. There is a place for invalid domain. It is > not the child of a threaded cgroup. It is the siblings of a threaded > cgroup whose parent is not root. > >Root - A (domain) - B (domain)

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-18 Thread Waiman Long
On 07/17/2017 04:56 PM, Waiman Long wrote: > On 07/17/2017 10:14 AM, Peter Zijlstra wrote: >> On Sun, Jul 16, 2017 at 10:07:20PM -0400, Tejun Heo wrote: >>> v4: - Updated to marking each cgroup threaded as suggested by PeterZ. >>> >>> +On creation, a cgroup is always a domain cgroup and can be made

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-17 Thread Waiman Long
On 07/16/2017 10:07 PM, Tejun Heo wrote: > > +Threads > +~~~ > + > +cgroup v2 supports thread granularity for a subset of controllers to > +support use cases requiring hierarchical resource distribution across > +the threads of a group of processes. By default, all threads of a > +process be

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-17 Thread Waiman Long
On 07/17/2017 10:14 AM, Peter Zijlstra wrote: > On Sun, Jul 16, 2017 at 10:07:20PM -0400, Tejun Heo wrote: >> v4: - Updated to marking each cgroup threaded as suggested by PeterZ. >> >> +On creation, a cgroup is always a domain cgroup and can be made >> +threaded by writing "threaded" to the "cgrou

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-17 Thread Tejun Heo
Hello, Peter. On Mon, Jul 17, 2017 at 04:14:09PM +0200, Peter Zijlstra wrote: > AFAICT this is not in fact what I suggested... :/ Heh, sorry about misattributing that. I was mostly referring to the overall idea of marking each cgroup domain or threaded rather than subtree. > My proposal did not

Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support

2017-07-17 Thread Peter Zijlstra
On Sun, Jul 16, 2017 at 10:07:20PM -0400, Tejun Heo wrote: > > v4: - Updated to marking each cgroup threaded as suggested by PeterZ. > > +On creation, a cgroup is always a domain cgroup and can be made > +threaded by writing "threaded" to the "cgroup.type" file. The > +operation is single direc