Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-03 Thread Tejun Heo
Hello, On Fri, Jun 02, 2017 at 04:36:22PM -0400, Waiman Long wrote: > I wouldn't argue further on that if you insist. However, I still want to Oh, please don't get me wrong. I'm not trying to shut down the discussion or anything. It's just that whole-scope discussions can get very meandering an

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-02 Thread Waiman Long
On 06/01/2017 05:18 PM, Tejun Heo wrote: > Hello, > > On Thu, Jun 01, 2017 at 05:12:42PM -0400, Waiman Long wrote: >> Are you referring to keeping the no internal process restriction and >> document how to work around that instead? I would like to hear what >> workarounds are currently being used.

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, On Thu, Jun 01, 2017 at 05:12:42PM -0400, Waiman Long wrote: > Are you referring to keeping the no internal process restriction and > document how to work around that instead? I would like to hear what > workarounds are currently being used. What we've been talking about all along - just c

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 04:52 PM, Tejun Heo wrote: > Hello, > > On Thu, Jun 01, 2017 at 04:48:48PM -0400, Waiman Long wrote: >> I think we are on agreement here. I should we should just document how >> userland can work around the internal process competition issue by >> setting up the cgroup hierarchy prope

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, On Thu, Jun 01, 2017 at 04:48:48PM -0400, Waiman Long wrote: > I think we are on agreement here. I should we should just document how > userland can work around the internal process competition issue by > setting up the cgroup hierarchy properly. Then we can remove the no > internal process

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 04:38 PM, Tejun Heo wrote: > Hello, > > On Thu, Jun 01, 2017 at 03:27:35PM -0400, Waiman Long wrote: >> As said in an earlier email, I agreed that masking it on the kernel side >> may not be the best solution. I offer 2 other alternatives: >> 1) Document on how to work around the reso

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, On Thu, Jun 01, 2017 at 03:27:35PM -0400, Waiman Long wrote: > As said in an earlier email, I agreed that masking it on the kernel side > may not be the best solution. I offer 2 other alternatives: > 1) Document on how to work around the resource domains issue by proper > setup of the cgrou

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 11:10 AM, Peter Zijlstra wrote: > On Thu, Jun 01, 2017 at 10:50:42AM -0400, Tejun Heo wrote: >> Hello, Waiman. >> >> A short update. I tried making root special while keeping the >> existing threaded semantics but I didn't really like it because we >> have to couple controller enable

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 02:44 PM, Waiman Long wrote: > On 06/01/2017 11:10 AM, Peter Zijlstra wrote: >> On Thu, Jun 01, 2017 at 10:50:42AM -0400, Tejun Heo wrote: >>> Hello, Waiman. >>> >>> A short update. I tried making root special while keeping the >>> existing threaded semantics but I didn't really like

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 02:47 PM, Tejun Heo wrote: > Hello, Waiman. > > On Thu, Jun 01, 2017 at 02:44:48PM -0400, Waiman Long wrote: >>> And cgroup-v2 has this 'exception' (aka wart) for the root group which >>> needs to be replicated for each namespace. >> One of the changes that I proposed in my patches wa

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, Waiman. On Thu, Jun 01, 2017 at 02:44:48PM -0400, Waiman Long wrote: > > And cgroup-v2 has this 'exception' (aka wart) for the root group which > > needs to be replicated for each namespace. > > One of the changes that I proposed in my patches was to get rid of the > no internal process co

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 11:10 AM, Peter Zijlstra wrote: > On Thu, Jun 01, 2017 at 10:50:42AM -0400, Tejun Heo wrote: >> Hello, Waiman. >> >> A short update. I tried making root special while keeping the >> existing threaded semantics but I didn't really like it because we >> have to couple controller enable

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Waiman Long
On 06/01/2017 10:50 AM, Tejun Heo wrote: > Hello, Waiman. > > A short update. I tried making root special while keeping the > existing threaded semantics but I didn't really like it because we > have to couple controller enables/disables with threaded > enables/disables. I'm now trying a simpler,

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, Peter. On Thu, Jun 01, 2017 at 05:10:45PM +0200, Peter Zijlstra wrote: > I've not had time to look at any of this. But the question I'm most > curious about is how cgroup-v2 preserves the container invariant. > > That is, each container (namespace) should look like a 'real' machine. > So j

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Peter Zijlstra
On Thu, Jun 01, 2017 at 10:50:42AM -0400, Tejun Heo wrote: > Hello, Waiman. > > A short update. I tried making root special while keeping the > existing threaded semantics but I didn't really like it because we > have to couple controller enables/disables with threaded > enables/disables. I'm no

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-06-01 Thread Tejun Heo
Hello, Waiman. A short update. I tried making root special while keeping the existing threaded semantics but I didn't really like it because we have to couple controller enables/disables with threaded enables/disables. I'm now trying a simpler, albeit a bit more tedious, approach which should le

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-24 Thread Tejun Heo
Hello, On Wed, May 24, 2017 at 05:17:13PM -0400, Waiman Long wrote: > An alternative is to have separate enabling for thread root. For example, > > # echo root > cgroup.threads > # echo enable > child/cgroup.threads > > The first statement make the current cgroup the thread root. However, > sett

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-24 Thread Waiman Long
On 05/24/2017 04:36 PM, Tejun Heo wrote: > Hello, Waiman. > > On Mon, May 22, 2017 at 01:13:16PM -0400, Waiman Long wrote: >>> Maybe I'm misunderstanding the design, but this seems to push the >>> processes which belong to the threaded subtree to the parent which is >>> part of the usual resource d

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-24 Thread Tejun Heo
Hello, Waiman. On Mon, May 22, 2017 at 01:13:16PM -0400, Waiman Long wrote: > > Maybe I'm misunderstanding the design, but this seems to push the > > processes which belong to the threaded subtree to the parent which is > > part of the usual resource domain hierarchy thus breaking the no > > inter

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-22 Thread Waiman Long
On 05/22/2017 01:13 PM, Waiman Long wrote: > On 05/19/2017 04:26 PM, Tejun Heo wrote: >>> @@ -2982,22 +3010,48 @@ static int cgroup_enable_threaded(struct cgroup >>> *cgrp) >>> LIST_HEAD(csets); >>> struct cgrp_cset_link *link; >>> struct css_set *cset, *cset_next; >>> + struct cgrou

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-22 Thread Waiman Long
On 05/19/2017 04:26 PM, Tejun Heo wrote: > Hello, Waiman. > > On Mon, May 15, 2017 at 09:34:10AM -0400, Waiman Long wrote: >> Now we could have something like >> >> R -- A -- B >> \ >>T1 -- T2 >> >> where R is the thread root, A and B are non-threaded cgroups, T1 and >> T2 are th

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-19 Thread Tejun Heo
Hello, On Fri, May 19, 2017 at 04:26:24PM -0400, Tejun Heo wrote: > (exactly in the way necessary), I wonder whether it'd be better to > simply allow root to be both domain and thread root. I'll give this approach a shot early next week. Thanks. -- tejun -- To unsubscribe from this list: send

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-19 Thread Tejun Heo
Hello, Waiman. On Mon, May 15, 2017 at 09:34:10AM -0400, Waiman Long wrote: > Now we could have something like > > R -- A -- B >\ > T1 -- T2 > > where R is the thread root, A and B are non-threaded cgroups, T1 and > T2 are threaded cgroups. The cgroups R, T1, T2 form a thre

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-18 Thread Waiman Long
On 05/17/2017 05:47 PM, Tejun Heo wrote: > Hello, Waiman. > > On Mon, May 15, 2017 at 09:34:10AM -0400, Waiman Long wrote: >> The current thread mode semantics aren't sufficient to fully support >> threaded controllers like cpu. The main problem is that when thread >> mode is enabled at root (mainl

Re: [RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-17 Thread Tejun Heo
Hello, Waiman. On Mon, May 15, 2017 at 09:34:10AM -0400, Waiman Long wrote: > The current thread mode semantics aren't sufficient to fully support > threaded controllers like cpu. The main problem is that when thread > mode is enabled at root (mainly for performance reason), all the > non-threaded

[RFC PATCH v2 11/17] cgroup: Implement new thread mode semantics

2017-05-15 Thread Waiman Long
The current thread mode semantics aren't sufficient to fully support threaded controllers like cpu. The main problem is that when thread mode is enabled at root (mainly for performance reason), all the non-threaded controllers cannot be supported at all. To alleviate this problem, the roles of thr