Skip to content

Commit

Permalink
selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
Browse files Browse the repository at this point in the history
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: d89dffa ("fault-injection: add selftests for cpu and memory hotplug")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Shuah Khan <shuah@kernel.org>
  • Loading branch information
Colin Ian King authored and Shuah Khan committed Jan 25, 2019
1 parent 3d244c1 commit 2b531b6
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 2b531b6

Please sign in to comment.