Re: [PATCH 00/17] cgroup/cpuset: Fix partition CPU ownership and isolation accounting

Ridong Chen <[email protected]>
Newsgroups org.kernel.vger.cgroups,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <[email protected]>

On 8/20/2026 8:41 PM, Guopeng Zhang wrote:
> From: Guopeng Zhang <[email protected]>
> 
> update_prstate() uses effective_xcpus for isolation accounting and
> housekeeping checks when switching a partition between root and
> isolated. The mask also includes CPUs granted to valid child partitions.
> Such a type change can alter isolation accounting for child-owned CPUs
> or fail a housekeeping check because of a CPU the parent does not own.
> 
> A rejected type change can leave CPUs assigned to the invalidated
> partition instead of returning them to the partition that owns the
> invalidated subtree. When cpuset.cpus changes, child validation can use
> the old parent mask, and a remote update can observe stale cpus_allowed
> when it revisits a cpuset. Direct and propagated invalidation can leave
> isolated_cpus reflecting the released partition's type instead of the
> type of the partition receiving its CPUs. Releasing an isolated
> partition can clear boot-isolated CPUs from isolated_cpus.
> 
> Limit type-change checks and accounting to CPUs owned directly by the
> partition. Preserve boot-isolated CPUs when a partition is released,
> return CPUs after rejected type changes, validate children against the
> new parent mask, and publish cpus_allowed before a partition update can
> revisit the cpuset. Fix isolation accounting during direct and
> propagated invalidation.
> 
> Patch 1 removes an invalid selftest comparison that makes
> test_cpuset_prs.sh fail when boot-time domain isolation is configured.
> Each kernel fix is followed by a focused selftest update.
> 
> Guopeng Zhang (17):
>    selftests/cgroup: Drop invalid boot isolation comparison
>    cgroup/cpuset: Preserve boot-isolated CPUs on partition release
>    selftests/cgroup: Test boot-isolated CPU partition release
>    cgroup/cpuset: Limit type-change accounting to owned CPUs
>    selftests/cgroup: Test isolated CPU accounting on type changes
>    cgroup/cpuset: Validate type changes against owned CPUs
>    selftests/cgroup: Test type-change validation with child-owned CPUs
>    cgroup/cpuset: Release CPUs when a type change is rejected
>    selftests/cgroup: Test rejected partition type changes
>    cgroup/cpuset: Fix isolated accounting on direct child invalidation
>    selftests/cgroup: Test isolation accounting on direct child
>      invalidation
>    cgroup/cpuset: Invalidate children outside the new CPU mask
>    selftests/cgroup: Test child invalidation after shrinking cpuset.cpus
>    cgroup/cpuset: Publish cpus_allowed before partition updates
>    selftests/cgroup: Test shrinking cpuset.cpus in a remote partition
>    cgroup/cpuset: Fix isolated accounting on propagated invalidation
>    selftests/cgroup: Test isolation accounting on propagated invalidation
> 
>   kernel/cgroup/cpuset.c                        | 162 ++++++++++--
>   .../selftests/cgroup/test_cpuset_prs.sh       | 231 +++++++++++++++++-
>   2 files changed, 361 insertions(+), 32 deletions(-)
> 
> 
> base-commit: 6a746cd265aed59107ebdaa9ce039bb832922969

Hi Guopeng,

This is a fairly large series, which may make the review process challenging. I 
would suggest splitting it into smaller, more focused patches. It would also be 
very helpful if you could provide a reproducer for each bug you are trying to 
fix, so that we can verify the issue and the fix more effectively.

-- 
Best regards
Ridong
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.