linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH][V2] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
@ 2019-01-10 12:38 Colin King
  2019-01-23 13:25 ` Colin Ian King
  0 siblings, 1 reply; 3+ messages in thread
From: Colin King @ 2019-01-10 12:38 UTC (permalink / raw)
  To: Shuah Khan, linux-kselftest; +Cc: kernel-janitors, linux-kernel

From: Colin Ian King <colin.king@canonical.com>

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@canonical.com>

---

V2: remove some debug and an empty line

---
 .../selftests/cpu-hotplug/cpu-on-off-test.sh        | 13 ++++++++++---
 1 file changed, 10 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..0d26b5e3f966 100755
--- a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
+++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
@@ -37,6 +37,10 @@ prerequisite()
 		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`
@@ -151,6 +155,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 +196,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
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH][V2] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
  2019-01-10 12:38 [PATCH][V2] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present Colin King
@ 2019-01-23 13:25 ` Colin Ian King
  2019-01-23 15:07   ` shuah
  0 siblings, 1 reply; 3+ messages in thread
From: Colin Ian King @ 2019-01-23 13:25 UTC (permalink / raw)
  To: Shuah Khan, linux-kselftest; +Cc: kernel-janitors, linux-kernel

ping?

On 10/01/2019 12:38, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> 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@canonical.com>
> 
> ---
> 
> V2: remove some debug and an empty line
> 
> ---
>  .../selftests/cpu-hotplug/cpu-on-off-test.sh        | 13 ++++++++++---
>  1 file changed, 10 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..0d26b5e3f966 100755
> --- a/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> +++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
> @@ -37,6 +37,10 @@ prerequisite()
>  		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`
> @@ -151,6 +155,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 +196,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
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][V2] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
  2019-01-23 13:25 ` Colin Ian King
@ 2019-01-23 15:07   ` shuah
  0 siblings, 0 replies; 3+ messages in thread
From: shuah @ 2019-01-23 15:07 UTC (permalink / raw)
  To: Colin Ian King, linux-kselftest; +Cc: kernel-janitors, linux-kernel, shuah

On 1/23/19 6:25 AM, Colin Ian King wrote:
> ping?
> 
> On 10/01/2019 12:38, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> 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@canonical.com>
>>
>> ---
>>
>> V2: remove some debug and an empty line

Sorry for the delay. I will take this for 5.0-rc5

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-23 15:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-10 12:38 [PATCH][V2] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present Colin King
2019-01-23 13:25 ` Colin Ian King
2019-01-23 15:07   ` shuah

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).