From: Waiman Long <longman@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Li Zefan <lizefan@huawei.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Ingo Molnar <mingo@redhat.com>,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, kernel-team@fb.com, pjt@google.com,
luto@amacapital.net, Mike Galbraith <efault@gmx.de>,
torvalds@linux-foundation.org, Roman Gushchin <guro@fb.com>,
Juri Lelli <juri.lelli@redhat.com>,
Patrick Bellasi <patrick.bellasi@arm.com>
Subject: Re: [PATCH v11 7/9] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root
Date: Mon, 13 Aug 2018 13:56:15 -0400 [thread overview]
Message-ID: <446ab203-85cd-32ff-40a9-0ba22d5a2534@redhat.com> (raw)
In-Reply-To: <20180720174100.GC1934745@devbig577.frc2.facebook.com>
On 07/20/2018 01:41 PM, Tejun Heo wrote:
> Hello,
>
> On Fri, Jul 20, 2018 at 01:09:23PM -0400, Waiman Long wrote:
>> On 07/20/2018 12:37 PM, Peter Zijlstra wrote:
>>> On Fri, Jul 20, 2018 at 12:19:29PM -0400, Waiman Long wrote:
>>>> I am not against the idea of making it hierarchical eventually. I am
>>>> just hoping to get thing going by merging the patchset in its current
>>>> form and then we can make it hierarchical in a followup patch.
>>> Where's the rush? Why can't we do this right in one go?
>> For me, the rush comes from RHEL8 as it is a goal to have a fully
>> functioning cgroup v2 in that release.
>>
>> I also believe that most of the use cases of partition can be satisfied
>> with partitions at the first level children. Getting hierarchical
>> partition right may drag on for half a year, maybe, giving our history
>> with cpu v2 controller. No matter what we do to enable hierarchical
>> partition in the future, the current model of using a partition flag is
>> intuitive enough that it won't be changed at least for the first level
>> children.
> I'm fully with Waiman here. There are people wanting to use it and
> the part most people isn't controversial at all. I don't see what'd
> be gained by further delaying the whole thing. If the first level
> partition thing isn't acceptable to everyone, we can even strip down
> further. We can get .cpus and .mems merged first, which is what most
> people want anyway.
BTW, I am trying to support hierarchical partition. The first thing that
I want to support is to allow removing CPUs from partition root freely.
It turns out that the following existing code in validate_change() will
prevent the removal from happening when it touches any CPUs that are
used in child cpusets:
/* Each of our child cpusets must be a subset of us */
ret = -EBUSY;
cpuset_for_each_child(c, css, cur)
if (!is_cpuset_subset(c, trial))
goto out;
So this is not a new restriction after all.
The following restrictions are still imposed on a partition root wrt
allowable changes in cpuset.cpus:
1) cpuset.cpus cannot be set to "". There must be at least 1 cpu there.
2) Adding cpus that are not in parent's cpuset.cpus (as well as
cpuset.cpus.effective) or that will take all the parent's effective cpus
away is not allowed.
So are these limitations acceptable?
The easiest way to remove those restrictions is to forcefully turn off
the cpuset.sched.partition flag in the cpuset as well as any
sub-partitions when the user try to do that. With that change, there
will be no more new restriction on what you can do on cpuset.cpus.
What is your opinion on the best way forward wrt supporting hierarchical
partitioning?
Thanks,
Longman
next prev parent reply other threads:[~2018-08-13 17:56 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-24 7:30 [PATCH v11 0/9] cpuset: Enable cpuset controller in default hierarchy Waiman Long
2018-06-24 7:30 ` [PATCH v11 1/9] " Waiman Long
2018-06-24 7:30 ` [PATCH v11 2/9] cpuset: Add new v2 cpuset.sched.partition flag Waiman Long
2018-06-24 7:30 ` [PATCH v11 3/9] cpuset: Simulate auto-off of sched.partition at cgroup removal Waiman Long
2018-06-24 7:30 ` [PATCH v11 4/9] cpuset: Allow changes to cpus in a partition root Waiman Long
2018-06-24 7:30 ` [PATCH v11 5/9] cpuset: Make sure that partition flag work properly with CPU hotplug Waiman Long
2018-06-24 7:30 ` [PATCH v11 6/9] cpuset: Make generate_sched_domains() recognize reserved_cpus Waiman Long
2018-06-24 7:30 ` [PATCH v11 7/9] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root Waiman Long
2018-07-02 16:53 ` Tejun Heo
2018-07-03 0:41 ` Waiman Long
2018-07-03 15:58 ` Tejun Heo
2018-07-06 20:32 ` Waiman Long
2018-07-10 15:23 ` Waiman Long
2018-07-18 15:21 ` Waiman Long
2018-07-18 15:31 ` Tejun Heo
2018-07-18 21:12 ` Waiman Long
2018-07-19 13:52 ` Peter Zijlstra
2018-07-19 14:04 ` Waiman Long
2018-07-19 15:30 ` Tejun Heo
2018-07-19 15:52 ` Waiman Long
2018-07-19 16:52 ` Tejun Heo
2018-07-19 17:22 ` Waiman Long
2018-07-19 17:25 ` Tejun Heo
2018-07-19 17:38 ` Waiman Long
2018-07-20 11:32 ` Peter Zijlstra
2018-07-20 11:31 ` Peter Zijlstra
2018-07-20 11:45 ` Tejun Heo
2018-07-20 12:04 ` Tejun Heo
2018-07-20 15:44 ` Peter Zijlstra
2018-07-20 15:56 ` Tejun Heo
2018-07-20 16:19 ` Waiman Long
2018-07-20 16:37 ` Peter Zijlstra
2018-07-20 17:09 ` Waiman Long
2018-07-20 17:41 ` Tejun Heo
2018-08-13 17:56 ` Waiman Long [this message]
2018-08-17 15:59 ` Tejun Heo
2018-08-18 1:03 ` Waiman Long
2018-07-27 21:21 ` Waiman Long
2018-07-20 16:25 ` Peter Zijlstra
2018-07-20 15:57 ` Waiman Long
2018-07-20 11:29 ` Peter Zijlstra
2018-06-24 7:30 ` [PATCH v11 8/9] cpuset: Don't rebuild sched domains if cpu changes in non-partition root Waiman Long
2018-06-24 7:30 ` [PATCH v11 9/9] cpuset: Allow reporting of sched domain generation info Waiman Long
2018-07-19 13:54 ` Peter Zijlstra
2018-07-19 13:56 ` Waiman Long
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=446ab203-85cd-32ff-40a9-0ba22d5a2534@redhat.com \
--to=longman@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=efault@gmx.de \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=juri.lelli@redhat.com \
--cc=kernel-team@fb.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=tj@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).