Re: [LTP] [PATCH 2/3] Fix cpuhotplug test case cpuhotplug03

Li, Jin
2012-11-14T07:01:54Z

On 11/14/2012 02:29 PM, Wanlong Gao wrote:
> On 11/12/2012 03:34 PM, jin.li@windriver.com wrote:
>> From: Jin Li<jin.li@windriver.com>
>>
>> Fix test case cpuhotplug03 as follows:
>> 1. Avoid to check whether the cpu0 is on.
>> 2. Check the cpu before turn it on
>>
>> Signed-off-by: Jin Li<jin.li@windriver.com>
>> ---
>> .../hotplug/cpu_hotplug/functional/cpuhotplug03.sh | 21 ++++++++++++++-------
>> 1 file changed, 14 insertions(+), 7 deletions(-)
>>
>> diff --git a/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh b/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh
>> index ca636d1..516a21f 100755
>> --- a/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh
>> +++ b/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh
>> @@ -60,15 +60,22 @@ until [ $TST_COUNT -gt $TST_TOTAL ]; do
>>
>> # Turns on all CPUs and saves their states
>> for i in $( get_all_cpus ); do
>> - if ! online_cpu $1; then
>> - : $(( cpu += 1 ))
>> - eval "on_${cpu}=$i"
>> - fi
>> + if [ "$i" = "cpu0" ]; then
>> + continue
>> + fi
>> + if ! cpu_is_online $i; then
>> + if ! online_cpu $i; then
>> + tst_resm TFAIL "Could not online cpu $i"
>> + exit_clean 1
>> + fi
>> + : $(( cpu += 1 ))
>> + eval "on_${cpu}=$i"
>> + fi
>> : $(( number_of_cpus += 1 ))
>> done
>>
>> if ! offline_cpu ${CPU_TO_TEST} ; then
>> - tst_resm TBAIL "CPU${CPU_TO_TEST} cannot be offlined"
>> + tst_resm TFAIL "CPU${CPU_TO_TEST} cannot be offlined"
>> exit_clean 1
>> fi
>>
>> @@ -90,7 +97,7 @@ until [ $TST_COUNT -gt $TST_TOTAL ]; do
>> tst_resm TINFO "Onlining CPU ${CPU_TO_TEST}"
>> online_cpu ${CPU_TO_TEST}
>> RC=$?
>> - if [ $RC -eq 0 ]; then
>> + if [ $RC -ne 0 ]; then
>> tst_resm TFAIL "CPU${CPU_TO_TEST} cannot be onlined"

Looks strange. It's just what I fixed.

Could you please help to confirm that the 0002-patch is applied correctly?

Thanks,

Jin

>
> I test with your patch and always failed here,
> Running tests.......
> <<<test_start>>>
> tag=cpuhotplug03 stime=1352874488
> cmdline="export CPU_TO_TEST=1; $LTPROOT/testcases/bin/cpu_hotplug/functional/cpuhotplug03.sh"
> contacts=""
> analysis=exit
> <<<test_output>>>
> incrementing stop
> Name: cpuhotplug03
> Date: Wed Nov 14 14:28:08 CST 2012
> Desc: Do tasks get scheduled to a newly on-lined CPU?
>
> CPU is 1
> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
> root 31631 3.0 0.0 134116 1556 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31632 0.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31634 0.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31635 0.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31636 0.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31637 0.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31638 2.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31639 1.0 0.0 134116 1560 pts/1 R 14:28 0:00 /bin/sh /opt/ltp/testcases/bin/cpu_hotplug/tools/do_spin_loop
> root 31643 0.0 0.0 133488 1304 pts/1 S 14:28 0:00 grep do_spin_loop
> cpuhotplug03 0 TINFO : Onlining CPU 1
> cpuhotplug03 1 TFAIL : CPU1 cannot be onlined
> Wed Nov 14 14:28:08 CST 2012
> <<<execution_status>>>
> initiation_status="ok"
> duration=0 termination_type=exited termination_id=1 corefile=no
> cutime=37 cstime=4
> <<<test_end>>>
> INFO: ltp-pan reported some tests FAIL
> LTP Version: 20120903-133-gb631790
>
> ###############################################################
>
> Done executing testcases.
> LTP Version: 20120903-133-gb631790
> ###############################################################
>
>
> Thanks,
> Wanlong Gao
>
>> exit_clean 1
>> fi
>> @@ -101,7 +108,7 @@ until [ $TST_COUNT -gt $TST_TOTAL ]; do
>> ps -o psr -o command --no-headers -C do_spin_loop
>> RC=$?
>> NUM=`ps -o psr -o command --no-headers -C do_spin_loop | sed -e "s/^ *//" | cut -d' ' -f 1 | grep "^${CPU_TO_TEST}$" | wc -l`
>> - if [ $RC -eq 0 ]; then
>> + if [ $RC -ne 0 ]; then
>> tst_resm TBROK "No do_spin_loop processes found on any processor"
>> elif [ $NUM -lt 1 ]; then
>> tst_resm TFAIL "No do_spin_loop processes found on CPU${CPU_TO_TEST}"
>>