Patch to enable Power management testcases in LTP to run on Power platform
Signed-off-by: poornima nayak <[email protected]>
diff -uprN
ltp-intermediate-20091209.orig/testcases/kernel/power_management/runpwtests.sh
ltp-intermediate-20091209.fixes/testcases/kernel/power_management/runpwtests.sh
---
ltp-intermediate-20091209.orig/testcases/kernel/power_management/runpwtests.sh
2009-12-09 13:18:25.000000000 +0530
+++
ltp-intermediate-20091209.fixes/testcases/kernel/power_management/runpwtests.sh
2009-12-24 23:16:39.859044825 +0530
@@ -28,10 +28,21 @@
# History: 26 Aug 2008 - Created this file
# 03 Nov 2008 - Added CPUIDLE sysfs testcase
#
+# Function: main
+#
+# Description: - Execute all tests, exit with test status.
+#
+# Exit: - zero on success
+# - non-zero on failure.
+#
+
+#List of reusable functions defined in pm_include.sh
+. ./pm_include.sh
+
+RC=0 #Return status
# Exporting Required variables
export TST_TOTAL=1
-#LTPTMP=${TMP}
export PATH=${PATH}:.
export TCID="Power_Management"
export TST_COUNT=0
@@ -40,48 +51,39 @@ export analysis="/proctstat"
YES=0
NO=1
-#List of reusable functions defined in pm_include.sh
-. ./pm_include.sh
-
-# Function: main
-#
-# Description: - Execute all tests, exit with test status.
-#
-# Exit: - zero on success
-# - non-zero on failure.
-#
-RC=0 #Return status
# Checking required kernel version and architecture
tst_kvercmp 2 6 21; rc=$?
if [ $rc -ne 1 -a $rc -ne 2 ] ; then
- tst_resm TCONF "Kernel version not supported; not running testcases"
- exit 0
+ tst_resm TCONF "Kernel version not supported; not running testcases"
+ exit 0
else
- case "$(uname -m)" in
- i[4-6]86|x86_64)
+ case "$(uname -m)" in
+ i[4-6]86|x86_64)
+ ;;
+ powerpc|ppc|powerpc64|ppc64)
;;
- *)
- tst_resm TCONF "Arch not supported; not running testcases"
- exit 0
- ;;
- esac
+ *)
+ tst_resm TCONF "Arch not supported; not running testcases"
+ exit 0
+ ;;
+ esac
fi
tst_kvercmp 2 6 29; rc=$?
if [ $rc -eq 2 ] ; then
- max_sched_mc=2
- max_sched_smt=2
+ max_sched_mc=2
+ max_sched_smt=2
else
- max_sched_mc=1
- max_sched_smt=1
+ max_sched_mc=1
+ max_sched_smt=1
fi
tst_kvercmp 2 6 31; rc=$?
if [ $rc -eq 1 -o $rc -eq 2 ] ; then
- timer_migr_support_compatible=1
+ timer_migr_support_compatible=0
else
- timer_migr_support_compatible=0
+ timer_migr_support_compatible=1
fi
is_hyper_threaded; hyper_threaded=$?
@@ -90,7 +92,6 @@ is_multi_core; multi_core=$?
is_dual_core; dual_core=$?
#Checking sched_mc sysfs interface
-#check_config.sh config_sched_mc || RC=$?
TST_COUNT=1
if [ $multi_socket -eq $YES -a $multi_core -eq $YES ] ; then
if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
@@ -103,6 +104,25 @@ if [ $multi_socket -eq $YES -a $multi_co
else
tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
fi
+
+ : $(( TST_COUNT+=1))
+ if [ -f /proc/sys/kernel/timer_migration ]; then
+ if [ $timer_migr_support_compatible -eq $YES ]; then
+ if test_timer_migration.sh; then
+ tst_resm TPASS "Timer Migration interface test"
+ else
+ RC=$?
+ tst_resm TFAIL "Timer migration interface test"
+ fi
+ fi
+ else
+ if [ $supp -eq $YES ]; then
+ RC=$?
+ tst_resm TFAIL "Timer migration interface missing"
+ else
+ tst_resm TCONF "Kernel version does not support Timer migration"
+ fi
+ fi
else
if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
tst_resm TFAIL "sched_mc_power_savings interface in system
which is not a multi socket &(/) multi core"
@@ -135,7 +155,6 @@ else
fi
# Checking cpufreq sysfs interface files
-#check_config.sh config_cpu_freq || RC=$?
: $(( TST_COUNT += 1 ))
if [ -d /sys/devices/system/cpu/cpu0/cpufreq ] ; then
if check_cpufreq_sysfs_files.sh; then
@@ -187,12 +206,13 @@ else
fi
# sched_domain test
-if ! type python > /dev/null ; then
+which python > /dev/null
+if [ $? -ne 0 ] ; then
tst_resm TCONF "Python is not installed, CPU Consoldation\
test cannot run"
else
if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
- echo "max sched mc $max_sched_mc"
+ get_sched_values sched_mc; max_sched_mc=$?
for sched_mc in `seq 0 $max_sched_mc`; do
: $(( TST_COUNT+=1))
sched_domain.py -c $sched_mc; RC=$?
@@ -210,25 +230,6 @@ else
fi
fi
-: $(( TST_COUNT+=1))
-if [ -f /proc/sys/kernel/timer_migration ]; then
- if [ $timer_migr_support_compatible -eq $YES ]; then
- if test_timer_migration.sh; then
- tst_resm TPASS "Timer Migration interface test"
- else
- RC=$?
- tst_resm TFAIL "Timer migration interface test"
- fi
- fi
-else
- if [ $timer_migr_support_compatible -eq $YES ]; then
- RC=$?
- tst_resm TFAIL "Timer migration interface missing"
- else
- tst_resm TCONF "Kernel version does not support Timer migration"
- fi
-fi
-
if [ $# -gt 0 -a "$1" = "-exclusive" ]; then
# Test CPU consolidation
if [ $multi_socket -eq $YES -a $multi_core -eq $YES ]; then
@@ -266,7 +267,7 @@ if [ $# -gt 0 -a "$1" = "-exclusive" ];
fi
- if [ $hyper_threaded -eq $YES -a $multi_socket -eq $YES -a $multi_core
-eq $NO ]; then
+ if [ $hyper_threaded -eq $YES ]; then
#Testcase to validate consolidation at core level
for sched_smt in `seq 0 $max_sched_smt`; do
if [ $sched_smt -eq 2 ]; then
@@ -319,7 +320,7 @@ if [ $# -gt 0 -a "$1" = "-exclusive" ];
fi
# Verify threads consolidation stops when sched_smt is disabled in HT
systems
- if [ $hyper_threaded -eq $YES -a $multi_socket -eq $YES ]; then
+ if [ $hyper_threaded -eq $YES ]; then
# Vary only sched_smt from 1 to 0 when workload is running and
ensure that
# tasks do not consolidate to single core when sched_smt is set
to 0
: $(( TST_COUNT += 1 ))
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list