Re: [PATCH] cgroup/cpuset: Add test for partition root invalidation returning wrong CPUs

Waiman Long <[email protected]>
Newsgroups org.kernel.vger.cgroups,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <[email protected]>
On 8/7/26 4:59 AM, Shaojie Sun wrote:
> Add a test case 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 <[email protected]>
> ---
>   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..a44e92c94081 100755
> --- a/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> +++ b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> @@ -393,6 +393,12 @@ TEST_MATRIX=(
>   	"  C0-1:P1   .      .  P1:C2-3  C0-2     .      .      .     0 A1:0-1|XA1:0-1|B1:2-3 A1:P1|B1:P1"
>   	"   C0-1     .      .  P1:C2-3  C0-2     .      .      .     0 A1:0-1|B1:2-3 A1:P0|B1:P1"
>   
> +	# However, a partition root changing its own cpuset.cpus to overlap with
> +	# a sibling partition root will invalidate itself. Only actually allocated
> +	# CPUs (effective_xcpus) should be returned to the parent, not all CPUs
> +	# in cpus_allowed. The root cgroup effective CPUs must remain unchanged.
> +	"  C0-1:P1   .      .   C1-2:P1    .      .      .    C0-1    0 A1:0-1 A1:P1|B1:P-1"
> +

The cgroup hierarchy used by TEST_MATRIX may not suitable for doing this 
kind of test as you can't easily check the state of the parent cgroup. I 
would suggest you use the REMOTE_TEST_MATRIX hierarchy with p1, c11, 
c12. After making c12 conflicts with c11, you can check p1 to see if it 
has the right state.

Cheers,
Longman


>   	# cpuset.cpus can overlap with sibling cpuset.cpus.exclusive but not subsumed by it
>   	"   C0-3     .      .    C4-5     X5     .      .      .     0 A1:0-3|B1:4-5"
>
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.