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

Li, Jin
2012-11-14T07:23:52Z

On 11/14/2012 03:17 PM, Wanlong Gao wrote:
> On 11/14/2012 03:01 PM, Li, Jin wrote:
>>
>>
>> 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?
>
> I tested again and it passed. Maybe caused by some cache.
> So, can you resend your 1/3 patch and I can apply all these three.

Get it. V2 will come up soon.

Jin

>
> Thanks,
> Wanlong Gao
>
>>
>> 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}"
>>>>
>>>
>>