Re: [PATCH 2/2] selftests/cgroup: Preserve CPU hotplug write errors

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/9/26 4:21 AM, Rui Qi wrote:
> The cpuset partition root state selftest checks several CPU hotplug
> transitions. If writing to a CPU online file fails, the helper still
> runs pause afterwards and returns the status of pause instead of the
> failed write.
>
> This hides the real hotplug failure and can make later checks run
> against expectations for a transition that never happened. Move the
> write before the bookkeeping and return when it fails, so callers can
> observe the hotplug error and the test does not record a CPU as offline
> unless the offline operation actually succeeded.
>
> Fixes: a8c52eba880a ("kselftest/cgroup: Add cpuset v2 partition root state test")
> Signed-off-by: Rui Qi <[email protected]>

I am aware that on x86-64, cpu0/online may not exist. Other than that, 
under what condition will the write fail as only root is allowed to run 
the script?

Cheers,
Longman

> ---
>   tools/testing/selftests/cgroup/test_cpuset_prs.sh | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/cgroup/test_cpuset_prs.sh b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> index 16c38eb11e63..a2f7208633bc 100755
> --- a/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> +++ b/tools/testing/selftests/cgroup/test_cpuset_prs.sh
> @@ -412,6 +412,7 @@ write_cpu_online()
>   	CPU=${1%=*}
>   	VAL=${1#*=}
>   	CPUFILE=//sys/devices/system/cpu/cpu${CPU}/online
> +	echo $VAL > $CPUFILE || return 1
>   	if [[ $VAL -eq 0 ]]
>   	then
>   		OFFLINE_CPUS="$OFFLINE_CPUS $CPU"
> @@ -421,7 +422,6 @@ write_cpu_online()
>   					sort | uniq -u)
>   		}
>   	fi
> -	echo $VAL > $CPUFILE
>   	pause 0.05
>   }
>   
> @@ -493,6 +493,7 @@ set_ctrl_state()
>   			eval $COMM $REDIRECT
>   			;;
>   		    O*) VAL=${CMD#?}
> +			COMM="write_cpu_online $VAL"
>   			write_cpu_online $VAL
>   			;;
>   		    T*) COMM="echo 0 > $TFILE"
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.