[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <82aeb5aa-7d69-78dd-bb26-60a51dc8a839@redhat.com>
Date: Mon, 10 Jul 2023 23:24:37 -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>, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kselftest@...r.kernel.org,
Juri Lelli <juri.lelli@...hat.com>,
Valentin Schneider <vschneid@...hat.com>,
Frederic Weisbecker <frederic@...nel.org>,
Mrunal Patel <mpatel@...hat.com>,
Ryan Phillips <rphillips@...hat.com>,
Brent Rowsell <browsell@...hat.com>,
Peter Hunt <pehunt@...hat.com>, Phil Auld <pauld@...hat.com>
Subject: Re: [PATCH v4 8/9] cgroup/cpuset: Documentation update for partition
On 7/10/23 21:07, Tejun Heo wrote:
> Hello,
>
> On Mon, Jul 10, 2023 at 08:53:18PM -0400, Waiman Long wrote:
>> For local partition, it doesn't make sense to have a cpust.cpus.exclusive
>> that is not the same as cpuset.cpus as it artificially reduce the set of
>> CPUs that can be used in a partition. In the case of a remote partition, the
> Yeah, I was wondering about local partitions. "Automatic but can be
> overridden" behavior becomes confusing if it's difficult for the user to
> easily tell which part is automatic when. I wonder whether it'd be better to
> make the condition static - e.g. for a partition cgroup, cpus.exclusive
> always contains all bits in cpus no matter what value is written to it. Or,
> if we separate out cpus.exclusive and cpus.exclusive.effective, no matter
> what cpus.exclusive is set, a partition root's cpus.exclusive.effective
> always includes all bits in cpus.effective.
With no offline CPUs, cpus.effective should be the same as
cpus.exclusive.effective for a valid partition root. Here
cpus.exclusive.effective is a bit different from cpus.effective as it
can contain offline cpus. It also mean that adding
cpus.exclusive.effective can be redundant.
As said before, I try to avoid adding new cpuset control file unless
absolutely necessary. I now have a slight different proposal. Once
manually set, I can keep cpuset.cpus.exclusive invariant. I do need to
do a bit more work when enabling a partition root to find out the
effective set of exclusive CPUs to be used or make the partition invalid
if no exclusive CPU is available. I still want to do a initial check
when setting cpuset.cpus.exclusive to make sure that the value is at
least valid at the beginning.
Do you think this is an acceptable compromise?
Thanks,
Longman
Powered by blists - more mailing lists