lkml.org 
[lkml]   [2019]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectNACK: [PATCH] selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
    From
    Date
    On 10/01/2019 11:37, 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>
    > ---
    > .../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
    >

    \
     
     \ /
      Last update: 2019-01-10 13:33    [W:3.846 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site