From: Tejun Heo <tj@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: lizefan@huawei.com, hannes@cmpxchg.org, mingo@redhat.com,
longman@redhat.com, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel-team@fb.com, pjt@google.com,
luto@amacapital.net, efault@gmx.de,
torvalds@linux-foundation.org, guro@fb.com
Subject: Re: [PATCH 5/6] cgroup: implement cgroup v2 thread support
Date: Mon, 17 Jul 2017 10:26:09 -0400 [thread overview]
Message-ID: <20170717142609.GC3519177@devbig577.frc2.facebook.com> (raw)
In-Reply-To: <20170717141409.sqafufjupsiffnri@hirez.programming.kicks-ass.net>
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 have that invalid state. It would simply refuse to
> change the type from thread to domain in the case where the parent is
> not a domain.
>
> Also, my proposal maintained the normal property inheritance rules. A
> child cgroup's creation 'type' would be that of its parent and not
> always be 'domain'.
But aren't both of the above get weird when the parent can host both
domain and threaded children?
R
/
A(D)
If you create another child B under R, it's naturally gonna be a
domain. Let's say you turn that to threaded.
R
/ \
A(D) B(T)
And now try to create another child C, should that be a domain or
threaded?
If we only inherit from the second level on, which is in itself
already confusing, that still leads to invalid configs for non-root
thread roots.
I don't think whether we fail the transition or put the cgroup in an
invalid state is all that material. The simpler the better.
> Let me read more (and more careful) to see if there's other things.
Sure thing.
Thanks!
--
tejun
next prev parent reply other threads:[~2017-07-17 14:26 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-17 2:07 [PATCHSET for-4.13] cgroup: implement cgroup2 thread mode, v3 Tejun Heo
2017-07-17 2:07 ` Tejun Heo
2017-07-17 2:07 ` [PATCH 1/6] cgroup: reorganize cgroup.procs / task write path Tejun Heo
2017-07-17 2:07 ` [PATCH 2/6] cgroup: add @flags to css_task_iter_start() and implement CSS_TASK_ITER_PROCS Tejun Heo
2017-07-17 2:07 ` [PATCH 3/6] cgroup: introduce cgroup->dom_cgrp and threaded css_set handling Tejun Heo
2017-07-17 2:07 ` [PATCH 4/6] cgroup: implement CSS_TASK_ITER_THREADED Tejun Heo
2017-07-17 2:07 ` [PATCH 5/6] cgroup: implement cgroup v2 thread support Tejun Heo
[not found] ` <20170717020721.3612468-6-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-07-17 14:14 ` Peter Zijlstra
2017-07-17 14:14 ` Peter Zijlstra
2017-07-17 14:26 ` Tejun Heo [this message]
2017-07-18 17:28 ` Peter Zijlstra
[not found] ` <20170718172801.f56273tzgzn3xkne-Nxj+rRp3nVydTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2017-07-18 17:35 ` Waiman Long
2017-07-18 17:35 ` Waiman Long
2017-07-18 17:54 ` Tejun Heo
2017-07-18 17:54 ` Tejun Heo
2017-07-18 18:41 ` Peter Zijlstra
2017-07-18 18:47 ` Tejun Heo
[not found] ` <20170718184714.GA3365493-4dN5La/x3IkLX0oZNxdnEQ2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2017-07-19 14:07 ` Peter Zijlstra
2017-07-19 14:07 ` Peter Zijlstra
2017-07-19 16:34 ` Tejun Heo
2017-07-17 20:56 ` Waiman Long
2017-07-18 14:37 ` Waiman Long
[not found] ` <5fa00590-551f-85d2-511b-ef4033781228-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-07-18 17:10 ` Tejun Heo
2017-07-18 17:10 ` Tejun Heo
2017-07-18 17:23 ` Waiman Long
[not found] ` <df14a222-f1f8-3415-b29a-2712c9e77f94-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-07-19 16:29 ` Tejun Heo
2017-07-19 16:29 ` Tejun Heo
[not found] ` <20170719162937.GP3365493-4dN5La/x3IkLX0oZNxdnEQ2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2017-07-19 17:09 ` Waiman Long
2017-07-19 17:09 ` Waiman Long
[not found] ` <e6a9daf1-461d-080c-a301-12cdad5e2b73-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-07-19 17:48 ` Tejun Heo
2017-07-19 17:48 ` Tejun Heo
2017-07-17 21:12 ` Waiman Long
[not found] ` <199bfed8-de84-da6d-6623-c45524443aaa-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-07-19 15:40 ` Tejun Heo
2017-07-19 15:40 ` Tejun Heo
2017-07-17 2:07 ` [PATCH 6/6] cgroup: update debug controller to print out thread mode information Tejun Heo
2017-07-17 21:19 ` Waiman Long
2017-07-19 15:31 ` Tejun Heo
2017-07-19 15:41 ` Waiman Long
2017-07-19 15:44 ` Tejun Heo
[not found] ` <20170717020721.3612468-1-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-07-17 14:48 ` [PATCHSET for-4.13] cgroup: implement cgroup2 thread mode, v3 Waiman Long
2017-07-17 14:48 ` Waiman Long
2017-07-17 14:51 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2017-07-19 19:44 [PATCHSET for-4.13] cgroup: implement cgroup2 thread mode, v4 Tejun Heo
2017-07-19 19:44 ` [PATCH 5/6] cgroup: implement cgroup v2 thread support Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170717142609.GC3519177@devbig577.frc2.facebook.com \
--to=tj@kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=efault@gmx.de \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=longman@redhat.com \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.