[PATCH-next v3 00/11] cgroup/cpuset: Miscellaneous bug fixes & cleanup

From: Waiman Long

Date: Sun Oct 25 2026 - 17:45:30 EST


v3:
- Update patch 1 to further encapsulate the code to release isolated
CPUs into a new isolated_cpus_release() helper to replace
furthest_isolated_ancestor(). Other than adding a remote partition
break, patch 1 should be functionally similar to the one in v2.
- Add more comment and some minor adjustment into patch 2 to make
the exclusivity rule apply only to invalid partition with empty
exclusive_cpus.
- Add a new fix patch "cgroup/cpuset: Release invalid isolated CPUs
with a shrunk root partition parent" to handle isolated CPUs release
in update_parent_effective_cpumask().

v2:
- https://lore.kernel.org/lkml/20261023200036.60560-1-longman@xxxxxxxxxx
- Update patch 2 to resolve problem reported by sashiko and Guopeng.
- Add 2 more fix patches to resolve problem found by inspection and
sashiko.
- Add 2 more cleanup patches suggested by Ridong Chen.

This patch series incorporates 9 fix patches for problems reported
by sashiko, Guopenp Zhang and by inspection. The last 2 patches are
cleanup patches suggested by Ridong Chen.

Waiman Long (11):
cgroup/cpuset: Find furthest isolated ancestor for invalidated
isolated partition
cgroup/cpuset: Properly compute effective xcpus in
update_parent_effective_cpumask()
cgroup/cpuset: Fix incorrect effective_cpus bug in
update_cpumasks_hier()
cgroup/cpuset: Minor fixes to prstate_housekeeping_conflict()
selftests/cgroup: Check for a single range nohz_full CPUs before
running test matrix
cgroup/cpuset: Prevent recursive call of remote_cpus_update() via
update_cpumasks_hier()
cgroup/cpuset: Make sure compute_partition_effective_cpumask() is only
called for valid partition
cgroup/cpuset: Release invalid isolated CPUs in
compute_partition_effective_cpumask()
cgroup/cpuset: Release invalid isolated CPUs with a shrunk root
partition parent
cgroup/cpuset: Relocate compute_*effective_cpumask() and
compute_effective_nodemask()
cgroup/cpuset: Integrate compute_partition_effective_cpumask() into
compute_effective_cpumask()

kernel/cgroup/cpuset-internal.h | 5 +
kernel/cgroup/cpuset.c | 505 +++++++++---------
.../selftests/cgroup/test_cpuset_prs.sh | 33 +-
3 files changed, 298 insertions(+), 245 deletions(-)

--
2.56.0