Re: [cgroup/for-6.20 PATCH v2 4/4] cgroup/cpuset: Don't invalidate sibling partitions on cpuset.cpus conflict
From: Michal Koutný
Date: Fri Jan 09 2026 - 11:12:33 EST
On Fri, Jan 09, 2026 at 09:30:08AM +0800, Chen Ridong <chenridong@xxxxxxxxxxxxxxx> wrote:
> > Concept question:
> > When a/b/cpuset.cpus.exclusive ⊂ a/b/cpuset.cpus (proper subset)
> > and a/b/cpuset.cpus.partition == root, a/cpuset.cpus.partition == root
> > (b is valid partition)
> > should a/b/cpuset.cpus.exclusive.effective be equal to cpuset.cpus (as
> > all of them happen to be exclusive) or "only" cpuset.cpus.exclusive?
> >
>
> The value of cpuset.cpus will not affect cpuset.cpus.exclusive.effective when cpuset.cpus.exclusive
> is set.
>
> Therefore, the answer: only cpuset.cpus.exclusive.
Thanks. (I later arrived at that conclusion by studying
Documentation/admin-guide/cgroup-v2.rst.)
> If cpuset.cpus could not be used for exclusive CPU allocation in a partition, it would be easier to
> understand the settings of cpuset.cpus.exclusive and cpuset.cpus.partition. This means that only
> when cpuset.cpus.exclusive is set can the cpuset be a partition (it has nothing to do with
> cpuset.cpus). However, for historical and compatibility reasons, cpuset.cpus is considered as the
> exclusive CPUs if cpuset.cpus.exclusive is not set.
I reckon this is the difference between local and remote partitions.
I.e. non-empty cpuset.cpus.exclusive is what makes a remote partition
together with non-member cpuset.cpus.partition. Where the latter may get
into the way as an uninteded local partiton.
Cheers,
Michal
Attachment:
signature.asc
Description: PGP signature