[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <404171dc-0da3-21f2-5003-9718f875e967@redhat.com>
Date: Sun, 12 Jun 2022 23:02:38 -0400
From: Waiman Long <longman@...hat.com>
To: Tejun Heo <tj@...nel.org>
Cc: Zefan Li <lizefan.x@...edance.com>,
Johannes Weiner <hannes@...xchg.org>,
Jonathan Corbet <corbet@....net>,
Shuah Khan <shuah@...nel.org>, cgroups@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kselftest@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Roman Gushchin <guro@...com>, Phil Auld <pauld@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Frederic Weisbecker <frederic@...nel.org>,
Marcelo Tosatti <mtosatti@...hat.com>,
Michal Koutný <mkoutny@...e.com>
Subject: Re: [PATCH v11 7/8] cgroup/cpuset: Update description of
cpuset.cpus.partition in cgroup-v2.rst
On 6/12/22 13:49, Tejun Heo wrote:
> Hello,
>
> On Tue, May 10, 2022 at 11:34:12AM -0400, Waiman Long wrote:
>> + External events like hotplug or changes to "cpuset.cpus" can
>> + cause a valid partition root to become invalid and vice versa.
>> + Note that a task cannot be moved to a cgroup with empty
>> + "cpuset.cpus.effective".
>> +
>> + For a valid partition root or an invalid partition root with
>> + the exclusivity rule enabled, changes made to "cpuset.cpus"
>> + that violate the exclusivity rule will not be allowed.
> My memory is failing but this is the same thing that we were discussing
> before, right? The point was that the different behaviors re. system events
> and config actions seemed unncessary and IIRC Michal was of the same opinion
> (please correct me if I'm misremembering).
That is the behavior enforced by setting the CPU_EXCLUSIVE bit in cgroup
v1. I haven't explicitly change it to make it different in cgroup v2.
The major reason is that I don't want change to one cpuset to affect a
sibling partition as it may make the code more complicate to validate if
a partition is valid.
>
>> + A valid non-root parent partition may distribute out all its CPUs
>> + to its child partitions when there is no task associated with it.
> I'm probably forgetting something. Was this necessary because of threaded
> cgroup support because otherwise the above condition is superflous?
The top cpuset cannot have empty cpus.effective whereas the non-root
partition roots can. Maybe I should reword it to make it more clear.
Thanks,
Longman
Powered by blists - more mailing lists