NACK: [PATCH] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/01/2019 11:37, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> 
> The cpu-hotplug test assumes that we can offline the maximum CPU as
> described by /sys/devices/system/cpu/offline.  However, in the case
> where the number of CPUs exceeds like kernel configuration then
> the offline count can be greater than the present count and we end
> up trying to test the offlining of a CPU that is not available to
> offline.  Fix this by testing the maximum present CPU instead.
> 
> Also, the test currently offlines the CPU and does not online it,
> so fix this by onlining the CPU after the test.
> 
> Fixes: d89dffa976bc ("fault-injection: add selftests for cpu and memory hotplug")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
>  .../selftests/cpu-hotplug/cpu-on-off-test.sh      | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> index bab13dd025a6..8670fb38a40e 100755
> --- a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> +++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> @@ -31,12 +31,17 @@ prerequisite()
>  	echo "CPU online/offline summary:"
>  	online_cpus=`cat $SYSFS/devices/system/cpu/online`
>  	online_max=${online_cpus##*-}
> +	echo "online_cpus = $online_cpus online_max = $online_max"

Bother, forgot to remove this debug.

>  
>  	if [[ "$online_cpus" = "$online_max" ]]; then
>  		echo "$msg: since there is only one cpu: $online_cpus"
>  		exit $ksft_skip
>  	fi
>  
> +	present_cpus=`cat $SYSFS/devices/system/cpu/present`
> +	present_max=${present_cpus##*-}
> +	echo "present_cpus = $present_cpus present_max = $present_max"
> +
>  	echo -e "\t Cpus in online state: $online_cpus"
>  
>  	offline_cpus=`cat $SYSFS/devices/system/cpu/offline`
> @@ -46,6 +51,7 @@ prerequisite()
>  		offline_max=${offline_cpus##*-}
>  	fi
>  	echo -e "\t Cpus in offline state: $offline_cpus"
> +

Ugh, I added a whitespace

>  }
>  
>  #
> @@ -151,6 +157,8 @@ online_cpus=0
>  online_max=0
>  offline_cpus=0
>  offline_max=0
> +present_cpus=0
> +present_max=0
>  
>  while getopts e:ahp: opt; do
>  	case $opt in
> @@ -190,9 +198,10 @@ if [ $allcpus -eq 0 ]; then
>  	online_cpu_expect_success $online_max
>  
>  	if [[ $offline_cpus -gt 0 ]]; then
> -		echo -e "\t offline to online to offline: cpu $offline_max"
> -		online_cpu_expect_success $offline_max
> -		offline_cpu_expect_success $offline_max
> +		echo -e "\t offline to online to offline: cpu $present_max"
> +		online_cpu_expect_success $present_max
> +		offline_cpu_expect_success $present_max
> +		online_cpu $present_max
>  	fi
>  	exit 0
>  else
> 




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux