[Patch 4/4] Patch to integrate all the test scenarios of
cpu consolidation test on hyper threaded system to LTP.

Signed-off-by: poornima nayak <[email protected]>

diff -uprN ltp_orig/testcases/kernel/power_management/pm_include.sh 
ltp_patched//testcases/kernel/power_management/pm_include.sh
--- ltp_orig/testcases/kernel/power_management/pm_include.sh    2009-03-24 
09:25:27.000000000 -0500
+++ ltp_patched//testcases/kernel/power_management/pm_include.sh        
2009-03-24 11:55:20.000000000 -0500
@@ -64,10 +64,10 @@ function get_supporting_govr() {
 function is_hyper_threaded() {
        siblings=`cat /proc/cpuinfo | grep siblings | uniq | cut -f2 -d':'`
        cpu_cores=`cat /proc/cpuinfo | grep "cpu cores" | uniq | cut -f2 -d':'`
-       if [ $siblings > $cpu_cores ]; then
-               return 1
+       if [ $siblings -eq $cpu_cores ]; then
+               echo 0
        else
-               return 0
+               echo 1
        fi
 }
 
diff -uprN ltp_orig/testcases/kernel/power_management/runpwtests.sh 
ltp_patched//testcases/kernel/power_management/runpwtests.sh
--- ltp_orig/testcases/kernel/power_management/runpwtests.sh    2009-03-24 
09:25:27.000000000 -0500
+++ ltp_patched//testcases/kernel/power_management/runpwtests.sh        
2009-03-24 11:55:36.000000000 -0500
@@ -37,6 +37,9 @@ export PATH=${PATH}:.
 export TCID="Power Management"
 export TST_COUNT=0
 
+#List of reusable functions defined in pm_include.sh
+. pm_include.sh
+
 # Function:     main
 #
 # Description:  - Execute all tests, exit with test status.
@@ -66,43 +69,97 @@ if [ -f /sys/devices/system/cpu/sched_mc
        if [ $? -ne 0 ] ; then
        tst_resm TCONF "Python is not installed, CPU Consoldation test not run"
        else
-               # Trigger ebizzy workload for sched_mc_power_saving 1
-               cpu_consolidation.py -w ebizzy -l 1; RC=$?
-               if [ $RC -eq 1 ] ; then
-               tst_resm TFAIL "cpu consolidation test failed"
+        # Test CPU consolidation on hyper-threaded system
+        hyper_threaded=$(is_hyper_threaded)
+        if [ $hyper_threaded -eq 1 ]; then
+            cpu_consolidation.py -w ebizzy -c 1 -t 0; RC=$?
+            if [ $RC -eq 1 ] ; then
+                tst_resm TFAIL "cpu consolidation test "
+            else
+                tst_resm TPASS "cpu consolidation sched_mc=1, sched_smt=0"
+            fi
+            cpu_consolidation.py -w ebizzy -c 1 -t 1; RC=$?
+            if [ $RC -eq 1 ] ; then
+                tst_resm TFAIL "cpu consolidation test "
+            else
+                tst_resm TPASS "cpu consolidation sched_mc=1, sched_smt=1"
+            fi
+            cpu_consolidation.py -w ebizzy -c 0 -t 1; RC=$?
+            if [ $RC -eq 1 ] ; then
+                tst_resm TFAIL "cpu consolidation test "
+            else
+                tst_resm TPASS "cpu consolidation sched_mc=0, sched_smt=1"
+            fi
+        else
+                       # Trigger ebizzy workload for sched_mc_power_saving 1
+                       cpu_consolidation.py -w ebizzy -c 1; RC=$?
+               if [ $RC -eq 1 ] ; then
+               tst_resm TFAIL "cpu consolidation test "
+               else
+               tst_resm TPASS "cpu consolidation test for sched_mc_power set 
to 1"
+               fi
+        fi
+
+        # sched_mc =1 and sched_smt =0
+        hyper_threaded=$(is_hyper_threaded)
+        echo "hyper $hyper_threaded"
+        if [ $hyper_threaded -eq 1 ]; then
+               # sched_mc =1 and sched_smt =0
+               sched_domain.py -c 1 -t 0; RC=$?
+               if [ $RC -eq 1 ] ; then
+               tst_resm TFAIL "sched domain test sched_mc=1,sched_smt=0 "
+               else    
+               tst_resm TPASS "sched domain test sched_mc=1,sched_smt=0 "
+               fi
+
+               # sched_mc =1 and sched_smt =1  
+               sched_domain.py -c 1 -t 1; RC=$?
+               if [ $RC -eq 1 ] ; then
+               tst_resm TFAIL "sched domain test sched_mc=1,sched_smt=1 "
+               else
+               tst_resm TPASS "sched domain test sched_mc=1,sched_smt=1 "
+               fi
+
+                       # sched_mc =0 and sched_smt =1
+               sched_domain.py -c 0 -t 1; RC=$?
+               if [ $RC -eq 1 ] ; then
+               tst_resm TFAIL "sched domain test sched_mc=0,sched_smt=1 "
+               else
+               tst_resm TPASS "sched domain test sched_mc=0,sched_smt=1 "
+               fi
                else
-               tst_resm TPASS "cpu consolidation test for sched_mc_power set 
to 1"
-               fi
-        # Validate CPU level sched domain topology validation
-        sched_domain.py; RC=$?
-        if [ $RC -eq 1 ] ; then
-            tst_resm TFAIL "sched domain topology validation test failed"
-        else    
-            tst_resm TPASS "sched domain topology validation test passed"
-        fi      
+                       # Validate CPU level sched domain topology validation
+                       sched_domain.py -c 1; RC=$?
+               if [ $RC -eq 1 ] ; then
+               tst_resm TFAIL "sched domain test for sched_mc=1 "
+               else
+               tst_resm TPASS "sched domain test for sched_mc=1 "
+                       fi
+        fi
        fi
 else
        tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
-        exit 0
+    exit 0
 fi
 # Checking cpufreq sysfs interface files
 #check_config.sh config_cpu_freq || RC=$?
 if [ -d /sys/devices/system/cpu/cpu0/cpufreq ] ; then
        check_cpufreq_sysfs_files.sh; RC=$?
        if [ $RC -eq 1 ] ; then
-               tst_resm TFAIL "CPUFREQ sysfs tests failed"
+               tst_resm TFAIL "CPUFREQ sysfs tests "
        fi
 
        # Changing governors
        change_govr.sh; RC=$?
        if [ $RC -eq 1 ] ; then
-               tst_resm TFAIL "Changing governors failed"
+               tst_resm TFAIL "Changing governors "
        fi
 
        # Changing frequencies
        change_freq.sh; RC=$?
        if [ $RC -eq 1 ] ; then
-               tst_resm TFAIL "Changing frequncies failed"
+               tst_resm TFAIL "Changing frequncies "
        fi
 
        # Loading and Unloading governor related kernel modules
@@ -128,8 +185,8 @@ if [ -f /sys/devices/system/cpu/sched_sm
                tst_resm TFAIL "SCHED_MC sysfs tests failed"
        fi
 else
-       is_hyper_threaded; hyper_threaded = $?
-       if [ $hyper_threaded == 1 ]; then
+       hyper_threaded=$(is_hyper_threaded)
+       if [ $hyper_threaded -eq 1 ]; then
                tst_resm TFAIL "Required kernel configuration for SCHED_SMT NOT 
set"
        else
                tst_resm TCONF "Required Hyper Threading support in the system 
under test"

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to