From: Jin Li <[email protected]> Fix for case cpuhotplug01:
1. Give all available parameters to function migrate_irq. 2. Add the INFO note for the IRQ whose IRQ affinity is NOT permitted to changed. 3. Remove the variable cpustate and related code in function do_clean. The cpu, which was off before the test start, has been closed correctly in do_clean. 4. Add test case PASS at the end of the passed case Signed-off-by: Jin Li <[email protected]> --- .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug01.sh | 13 +++++-------- testcases/kernel/hotplug/cpu_hotplug/include/hotplug.fns | 12 ++++++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug01.sh b/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug01.sh index acf7df1..07379dc 100755 --- a/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug01.sh +++ b/testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug01.sh @@ -54,14 +54,12 @@ if ! cpu_is_valid "${CPU_TO_TEST}" ; then fi CPU_COUNT=0 -cpustate=1 if ! cpu_is_online "${CPU_TO_TEST}" ; then if ! online_cpu ${CPU_TO_TEST} ; then tst_resm TFAIL "Could not online cpu $CPU_TO_TEST" exit_clean 1 fi - cpustate=0 fi # do_clean() @@ -81,11 +79,6 @@ do_clean() offline_cpu $offline_cpu : $(( CPU_COUNT -= 1 )) done - if [ "x${cpustate}" = x1 ]; then - online_cpu ${CPU_TO_TEST} - else - offline_cpu ${CPU_TO_TEST} - fi } @@ -98,7 +91,7 @@ do_offline() CPU=${1#cpu} # Migrate some irq's this way first. IRQS=`get_all_irqs` - migrate_irq ${CPU} ${IRQS} + migrate_irq "${CPU}" "${IRQS}" offline_cpu ${CPU} if [ $? -ne 0 ]; then if [ "$CPU" -ne 0 ]; then @@ -191,4 +184,8 @@ do done +if [ "$RC" -eq 0 ];then + tst_resm TPASS "online and offline cpu${CPU} when writing disk" +fi + exit_clean $RC diff --git a/testcases/kernel/hotplug/cpu_hotplug/include/hotplug.fns b/testcases/kernel/hotplug/cpu_hotplug/include/hotplug.fns index 8a7cc32..6b3c933 100644 --- a/testcases/kernel/hotplug/cpu_hotplug/include/hotplug.fns +++ b/testcases/kernel/hotplug/cpu_hotplug/include/hotplug.fns @@ -1,3 +1,5 @@ +#!/bin/sh + # hotplug.fns - Collection of functions for hotplugging # operations. @@ -27,7 +29,8 @@ migrate_irq() IRQS=$2 for irq in ${IRQS} do - echo $MASK > /proc/irq/${irq}/smp_affinity + echo $MASK > /proc/irq/${irq}/smp_affinity || \ + tst_resm TINFO "It is NOT permitted to change the IRQ $irq smp_affinity" done } @@ -106,7 +109,8 @@ offline_cpu() get_all_cpus() { [ -d /sys/devices/system/cpu/cpu0 ] || return 1 - ls -dr /sys/devices/system/cpu/cpu[0-9]* || return 2 + ls -dr /sys/devices/system/cpu/cpu[0-9]* | \ + sed "s/\/sys\/devices\/system\/cpu\///g" || return 2 } @@ -183,8 +187,8 @@ cpu_is_valid() # cpu_is_online(CPU) # -# Returns a true value if the given CPU number is currently online, -# false otherwise. This function requires the system's CPUs have +# Returns a 0 value if the given CPU number is currently online, +# 1 otherwise. This function requires the system's CPUs have # hotplug capabilities. # cpu_is_online() -- 1.7.11 ------------------------------------------------------------------------------ Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
