From: Guopeng Zhang <guopeng.zhang@linux.dev>
To: Ridong Chen <ridong.chen@linux.dev>,
longman@redhat.com, cgroups@vger.kernel.org
Cc: tj@kernel.org, hannes@cmpxchg.org, mkoutny@suse.com,
shuah@kernel.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org,
Guopeng Zhang <zhangguopeng@kylinos.cn>
Subject: Re: [PATCH 00/17] cgroup/cpuset: Fix partition CPU ownership and isolation accounting
Date: Fri, 21 Aug 2026 11:17:32 +0800 [thread overview]
Message-ID: <ab6c9042-f359-41b9-854c-c8a22bdce7f1@linux.dev> (raw)
In-Reply-To: <5a16ddf0-2b22-449d-84e8-1605c195ea41@linux.dev>
在 2026/8/21 10:48, Ridong Chen 写道:
>
>
> On 8/20/2026 8:41 PM, Guopeng Zhang wrote:
>> From: Guopeng Zhang <zhangguopeng@kylinos.cn>
>>
>> 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.
>
Hi Ridong,
Thanks for the suggestion. The current series is indeed fairly large, which makes the individual issues harder to review.
I initially kept these patches in one series because some of the later fixes depend on changes introduced by earlier patches. However, while preserving the necessary dependencies, I can group the fixes by issue, split them into several smaller, more focused series, and submit them separately.
I will also add a reproducer to the changelog of each relevant patch, together with the actual behavior before the fix and the expected behavior.
Sashiko has raised a few additional points that I am still reviewing. I will go through those first, and then reorganize and split the series for the next submission.
Thanks,
Guopeng
prev parent reply other threads:[~2026-08-21 3:17 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 12:41 [PATCH 00/17] cgroup/cpuset: Fix partition CPU ownership and isolation accounting Guopeng Zhang
2026-08-20 12:41 ` [PATCH 01/17] selftests/cgroup: Drop invalid boot isolation comparison Guopeng Zhang
2026-08-20 12:41 ` [PATCH 02/17] cgroup/cpuset: Preserve boot-isolated CPUs on partition release Guopeng Zhang
2026-08-20 12:41 ` [PATCH 03/17] selftests/cgroup: Test boot-isolated CPU " Guopeng Zhang
2026-08-20 12:41 ` [PATCH 04/17] cgroup/cpuset: Limit type-change accounting to owned CPUs Guopeng Zhang
2026-08-24 14:24 ` Waiman Long
2026-08-26 5:44 ` Guopeng Zhang
2026-08-20 12:41 ` [PATCH 05/17] selftests/cgroup: Test isolated CPU accounting on type changes Guopeng Zhang
2026-08-20 12:41 ` [PATCH 06/17] cgroup/cpuset: Validate type changes against owned CPUs Guopeng Zhang
2026-08-24 14:25 ` Waiman Long
2026-08-26 5:48 ` Guopeng Zhang
2026-08-20 12:41 ` [PATCH 07/17] selftests/cgroup: Test type-change validation with child-owned CPUs Guopeng Zhang
2026-08-24 14:31 ` Waiman Long
2026-08-26 5:51 ` Guopeng Zhang
2026-08-20 12:41 ` [PATCH 08/17] cgroup/cpuset: Release CPUs when a type change is rejected Guopeng Zhang
2026-08-24 14:37 ` Waiman Long
2026-08-26 5:53 ` Guopeng Zhang
2026-08-20 12:41 ` [PATCH 09/17] selftests/cgroup: Test rejected partition type changes Guopeng Zhang
2026-08-20 12:41 ` [PATCH 10/17] cgroup/cpuset: Fix isolated accounting on direct child invalidation Guopeng Zhang
2026-08-20 12:41 ` [PATCH 11/17] selftests/cgroup: Test isolation " Guopeng Zhang
2026-08-20 12:41 ` [PATCH 12/17] cgroup/cpuset: Invalidate children outside the new CPU mask Guopeng Zhang
2026-08-25 15:11 ` Waiman Long
2026-09-10 3:41 ` Guopeng Zhang
2026-08-20 12:41 ` [PATCH 13/17] selftests/cgroup: Test child invalidation after shrinking cpuset.cpus Guopeng Zhang
2026-08-20 12:41 ` [PATCH 14/17] cgroup/cpuset: Publish cpus_allowed before partition updates Guopeng Zhang
2026-08-20 12:42 ` [PATCH 15/17] selftests/cgroup: Test shrinking cpuset.cpus in a remote partition Guopeng Zhang
2026-08-20 12:42 ` [PATCH 16/17] cgroup/cpuset: Fix isolated accounting on propagated invalidation Guopeng Zhang
2026-08-20 12:42 ` [PATCH 17/17] selftests/cgroup: Test isolation " Guopeng Zhang
2026-08-21 2:48 ` [PATCH 00/17] cgroup/cpuset: Fix partition CPU ownership and isolation accounting Ridong Chen
2026-08-21 3:17 ` Guopeng Zhang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ab6c9042-f359-41b9-854c-c8a22bdce7f1@linux.dev \
--to=guopeng.zhang@linux.dev \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mkoutny@suse.com \
--cc=ridong.chen@linux.dev \
--cc=shuah@kernel.org \
--cc=tj@kernel.org \
--cc=zhangguopeng@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.