tools/testing/selftests/cgroup/test_cpuset_prs.sh | 6 ++++++ 1 file changed, 6 insertions(+)
Add a test case to REMOTE_TEST_MATRIX covering the bug fixed by
commit 345f40166694 ("cgroup/cpuset: Return only actually allocated
CPUs during partition invalidation"). The test verifies that when a
sibling partition root changes its cpuset.cpus to overlap with another
partition root, only actually allocated CPUs (effective_xcpus) are
returned to the parent, not all CPUs in cpus_allowed.
Signed-off-by: Shaojie Sun <sunshaojie@kylinos.cn>
---
tools/testing/selftests/cgroup/test_cpuset_prs.sh | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/testing/selftests/cgroup/test_cpuset_prs.sh b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
index 0d41aa0d343d..236cb1b38178 100755
--- a/tools/testing/selftests/cgroup/test_cpuset_prs.sh
+++ b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
@@ -502,6 +502,12 @@ REMOTE_TEST_MATRIX=(
" C1-4:P1 . C1-2:P1 C1-3:P2 . . \
. . P0 C2-3 . . p1:1,4|c11:1|c12:2-3 \
p1:P1|c11:P0|c12:P2 2-3"
+ # Changing a sibling partition's cpuset.cpus to overlap with another
+ # sibling partition should invalidate itself and return only actually
+ # allocated CPUs (effective_xcpus) to the parent.
+ " C1-4:P1 . C1-2:P1 C2-4:P2 . . \
+ . . . C1-2 . . p1:3-4|c11:1-2|c12:3-4 \
+ p1:P1|c11:P1|c12:P-2"
)
#
--
2.25.1
Applied to cgroup/for-7.3.
The patch was generated against a base which predates 866f587e9c70
("cgroup/cpuset: Avoid unnecessary cpus & mems update in
cpuset_hotplug_update_tasks()") and no longer applied, so I moved the
new entry to keep it with the other sibling-exclusion cases and matched
the current column alignment. The applied change follows:
diff --git a/tools/testing/selftests/cgroup/test_cpuset_prs.sh b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
index 8e21e9fc439c..8380fd9d76bd 100755
--- a/tools/testing/selftests/cgroup/test_cpuset_prs.sh
+++ b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
@@ -502,6 +502,12 @@ REMOTE_TEST_MATRIX=(
" C1-4:P1 . C1-2:P1 C1-3:P2 . . \
. . P0 C2-3 . . p1:1,4|c11:1|c12:2-3 \
p1:P1|c11:P0|c12:P2 2-3"
+ # Changing a sibling partition's cpuset.cpus to overlap with another
+ # sibling partition should invalidate itself and return only actually
+ # allocated CPUs (effective_xcpus) to the parent.
+ " C1-4:P1 . C1-2:P1 C2-4:P2 . . \
+ . . . C1-2 . . p1:3-4|c11:1-2|c12:3-4 \
+ p1:P1|c11:P1|c12:P-2"
# Cpusets with empty cpuset.cpus should inherit parent's effective_cpus
" C1-4:P1 C5-6 C1-2 . C5 . \
. P1 P1 . . . p1:3-4|p2:5-6|c11:1-2|c12:3-4|c21:5|c22:5-6 \
Thanks.
--
tejun
On 8/11/26 5:58 AM, Shaojie Sun wrote:
> Add a test case to REMOTE_TEST_MATRIX covering the bug fixed by
> commit 345f40166694 ("cgroup/cpuset: Return only actually allocated
> CPUs during partition invalidation"). The test verifies that when a
> sibling partition root changes its cpuset.cpus to overlap with another
> partition root, only actually allocated CPUs (effective_xcpus) are
> returned to the parent, not all CPUs in cpus_allowed.
>
> Signed-off-by: Shaojie Sun <sunshaojie@kylinos.cn>
> ---
> tools/testing/selftests/cgroup/test_cpuset_prs.sh | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/cgroup/test_cpuset_prs.sh b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> index 0d41aa0d343d..236cb1b38178 100755
> --- a/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> +++ b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> @@ -502,6 +502,12 @@ REMOTE_TEST_MATRIX=(
> " C1-4:P1 . C1-2:P1 C1-3:P2 . . \
> . . P0 C2-3 . . p1:1,4|c11:1|c12:2-3 \
> p1:P1|c11:P0|c12:P2 2-3"
> + # Changing a sibling partition's cpuset.cpus to overlap with another
> + # sibling partition should invalidate itself and return only actually
> + # allocated CPUs (effective_xcpus) to the parent.
> + " C1-4:P1 . C1-2:P1 C2-4:P2 . . \
> + . . . C1-2 . . p1:3-4|c11:1-2|c12:3-4 \
> + p1:P1|c11:P1|c12:P-2"
> )
>
> #
Reviewed-by: Waiman Long <longman@redhat.com>
© 2016 - 2026 Red Hat, Inc.