From: Poornima Nayak <mpnayak@linux.vnet.ibm.com>
To: vaidy <svaidy@linux.vnet.ibm.com>,
ltp-list@lists.sourceforge.net, gautham <ego@in.ibm.com>,
arun@linux.vnet.ibm.com
Subject: [LTP] New & modified reusable functions for new & existing testcases
Date: Thu, 20 Aug 2009 21:37:31 +0530 [thread overview]
Message-ID: <20090820160731.30926.75897.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20090820160655.30926.34854.sendpatchset@localhost.localdomain>
Implemented reusable functions to learn system architecture before executing
architecture specific testcases.
Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/pm_include.sh ltp-full-20090731/testcases/kernel/power_management/pm_include.sh
--- ltp-full-20090731_orig/testcases/kernel/power_management/pm_include.sh 2009-08-20 19:59:11.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/pm_include.sh 2009-08-20 20:29:21.000000000 +0530
@@ -112,6 +112,46 @@ function is_multi_socket() {
fi
}
+function is_multi_core() {
+ siblings=`cat /proc/cpuinfo | grep siblings | uniq | cut -f2 -d':'`
+ cpu_cores=`cat /proc/cpuinfo | grep "cpu cores" | uniq | cut -f2 -d':'`
+ echo "siblings count $siblings cores count $cpu_cores"
+ if [ $siblings -eq $cpu_cores ]; then
+ if [ $cpu_cores -gt 1 ]; then
+ return 0
+ else
+ return 1
+ fi
+ else
+ : $(( num_of_cpus = siblings / cpu_cores ))
+ if [ $num_of_cpus -gt 1 ]; then
+ return 0
+ else
+ return 1
+ fi
+ fi
+}
+
+function is_dual_core() {
+ siblings=`cat /proc/cpuinfo | grep siblings | uniq | cut -f2 -d':'`
+ cpu_cores=`cat /proc/cpuinfo | grep "cpu cores" | uniq | cut -f2 -d':'`
+ if [ $siblings -eq $cpu_cores ]; then
+ if [ $cpu_cores -eq 2 ]; then
+ return 1
+ else
+ return 0
+ fi
+ else
+ : $(( num_of_cpus = siblings / cpu_cores ))
+ if [ $num_of_cpus -eq 2 ]; then
+ echo "number of cpus $num_of_cpus"
+ return 1
+ else
+ return 0
+ fi
+ fi
+}
+
function get_kernel_version() {
# Get kernel minor version
export kernel_version=`uname -r | awk -F. '{print $1"."$2"."$3}' | cut -f1 -d'-'`
@@ -120,42 +160,12 @@ function get_kernel_version() {
function get_valid_input() {
kernel_version=$1
case "$kernel_version" in
- '2.6.29' | '2.6.30' | '2.6.31')
- export valid_input="0 1 2" ;;
- *) export valid_input="0 1" ;;
+ '2.6.26' | '2.6.27' | '2.6.28')
+ export valid_input="0 1" ;;
+ *) export valid_input="0 1 2" ;;
esac
}
-function get_max_sched_mc() {
- get_kernel_version
- case "$kernel_version" in
- '2.6.29' | '2.6.30' | '2.6.31')
- return 2
- ;;
- '2.6.26' | '2.6.27' | '2.6.28')
- return 1
- ;;
- *)
- return 0
- ;;
- esac
-}
-
-function get_max_sched_smt() {
- get_kernel_version
- case "$kernel_version" in
- '2.6.29' | '2.6.30' | '2.6.31')
- return 2
- ;;
- '2.6.26' | '2.6.27' | '2.6.28')
- return 1
- ;;
- *)
- return 0
- ;;
- esac
-}
-
function check_supp_wkld() {
sched_mcsmt=$1
work_load=$2
@@ -184,58 +194,33 @@ function analyze_wrt_workload_hyperthrea
work_load=$2
pass_count=$3
sched_smt=$4
- stress=$5
- if [ $sched_mc > $sched_smt ]; then
+ if [ $sched_mc -gt $sched_smt ]; then
check_supp_wkld $sched_mc $work_load; valid_workload=$?
else
check_supp_wkld $sched_smt $work_load; valid_workload=$?
fi
- if [ "$stress" = "thread" ]; then
- case "$valid_workload" in
- 0)
- if [ $pass_count -lt 5 ]; then
- RC=1
- tst_resm TFAIL "Consolidation at core level failed for \
-sched_mc=$sched_mc, sched_smt=$sched_smt for workload=$work_load"
- else
- tst_resm TPASS "Consolidation at core level passed for \
-sched_mc=$sched_mc, sched_smt=$sched_smt & workload=$work_load"
- fi ;;
- 1)
- if [ $pass_count -lt 5 ]; then
- tst_resm TPASS "Consolidation at core level failed for \
-unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
- else
- RC=1
- tst_resm TFAIL "Consolidation at core level passed for \
-unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
- fi ;;
- esac
- else
- case "$valid_workload" in
- 0)
- if [ $pass_count -lt 5 ]; then
- RC=1
- tst_resm TFAIL "Consolidation at package level failed for \
+ case "$valid_workload" in
+ 0)
+ if [ $pass_count -lt 5 ]; then
+ RC=1
+ tst_resm TFAIL "Consolidation at package level failed for \
sched_mc=$sched_mc, sched_smt=$sched_smt for workload=$work_load"
- else
- tst_resm TPASS "Consolidation at package level passed for \
+ else
+ tst_resm TPASS "Consolidation at package level passed for \
sched_mc=$sched_mc, sched_smt=$sched_smt & workload=$work_load"
- fi ;;
- 1)
- echo "pass count is $pass_count"
- if [ $pass_count -lt 5 ]; then
- tst_resm TPASS "Consolidation at package level failed for \
+ fi ;;
+ 1)
+ if [ $pass_count -lt 5 ]; then
+ tst_resm TPASS "Consolidation at package level failed for \
unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
- else
- RC=1
- tst_resm TFAIL "Consolidation at package level passed for \
+ else
+ RC=1
+ tst_resm TFAIL "Consolidation at package level passed for \
unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
- fi ;;
+ fi ;;
esac
- fi
}
function analyze_wrt_wkld() {
@@ -243,12 +228,11 @@ function analyze_wrt_wkld() {
work_load=$2
pass_count=$3
sched_smt=$4
- stress=$5
check_supp_wkld $sched_mc $work_load; valid_workload=$?
if [ $hyper_threaded -eq $YES ]; then
analyze_wrt_workload_hyperthreaded $sched_mc $work_load $pass_count\
- $sched_smt $stress
+ $sched_smt
else
case "$valid_workload" in
0)
@@ -278,74 +262,56 @@ function analyze_result_hyperthreaded()
work_load=$2
pass_count=$3
sched_smt=$4
- stress=$5
+ echo "sched_mc =$sched_mc work-load=$work_load pass_count=$pass_count sched_smt=$sched_smt"
case "$sched_mc" in
0)
if [ $sched_smt ]; then
case "$sched_smt" in
0)
- if [ "$stress" = "thread" ]; then
- if [ $pass_count -lt 1 ]; then
- tst_resm TPASS "Consolidation at core level failed for sched_mc=\
-$sched_mc & sched_smt=$sched_smt for workload=$work_load"
- else
- RC=1
- tst_resm TFAIL "Consolidation at core level passed for sched_mc=\
+ if [ "$pass_count" -lt 5 ]; then
+ tst_resm TPASS "cpu consolidation failed for sched_mc=\
$sched_mc & sched_smt=$sched_smt for workload=$work_load"
- fi
else
- if [ "$pass_count" -lt 1 ]; then
- tst_resm TPASS "cpu consolidation failed for sched_mc=\
-$sched_mc & sched_smt=$sched_smt for workload=$work_load"
- else
- RC=1
- tst_resm TFAIL "cpu consolidation passed for sched_mc=\
+ RC=1
+ tst_resm TFAIL "cpu consolidation passed for sched_mc=\
$sched_mc & sched_smt=$sched_smt for workload=$work_load"
- fi
fi
;;
*)
- if [ "$stress" = "thread" ]; then
- analyze_wrt_wkld $sched_mc $work_load $pass_count $sched_smt $stress
- else
- analyze_wrt_wkld $sched_mc $work_load $pass_count $sched_smt
- fi ;;
+ analyze_wrt_wkld $sched_mc $work_load $pass_count $sched_smt
+ ;;
esac
else
- if [ $pass_count -lt 1 ]; then
+ if [ $pass_count -lt 5 ]; then
tst_resm TPASS "cpu consolidation failed for sched_mc=\
$sched_mc for workload=$work_load"
else
RC=1
tst_resm TFAIL "cpu consolidation passed for sched_mc=\
-$sched_mc & sched_smt=$sched_smt for workload=$work_load"
+$sched_mc for workload=$work_load"
fi
fi
;;
*)
- if [ "$stress" = "thread" ]; then
- analyze_wrt_wkld $sched_mc $work_load $pass_count $sched_smt $stress
- else
analyze_wrt_wkld $sched_mc $work_load $pass_count $sched_smt
- fi
;;
esac
}
-function analyze_consolidation_result() {
+function analyze_package_consolidation_result() {
sched_mc=$1
work_load=$2
pass_count=$3
sched_smt=$4
- stress=$5
+ echo "sched mc $sched_mc sched smt is $sched_smt workload $work_load pass count $pass_count"
if [ $hyper_threaded -eq $YES ]; then
- analyze_result_hyperthreaded $sched_mc $work_load $pass_count $sched_smt $stress
+ analyze_result_hyperthreaded $sched_mc $work_load $pass_count $sched_smt
else
case "$sched_mc" in
0)
- if [ $pass_count -lt 1 ]; then
+ if [ $pass_count -lt 5 ]; then
tst_resm TPASS "cpu consolidation failed for sched_mc=\
$sched_mc for workload=$work_load"
else
@@ -360,6 +326,33 @@ $sched_mc for workload=$work_load"
fi
}
+function analyze_core_consolidation_result() {
+ sched_smt=$1
+ work_load=$2
+ pass_count=$3
+
+ case "$valid_workload" in
+ 0)
+ if [ $pass_count -lt 5 ]; then
+ RC=1
+ tst_resm TFAIL "Consolidation at core level failed for \
+sched_mc=$sched_mc, sched_smt=$sched_smt for workload=$work_load"
+ else
+ tst_resm TPASS "Consolidation at core level passed for \
+sched_mc=$sched_mc, sched_smt=$sched_smt & workload=$work_load"
+ fi ;;
+ 1)
+ if [ $pass_count -lt 5 ]; then
+ tst_resm TPASS "Consolidation at core level failed for \
+unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
+ else
+ RC=1
+ tst_resm TFAIL "Consolidation at core level passed for \
+unsupported workload $work_load when sched_mc=$sched_mc & sched_smt=$sched_smt"
+ fi ;;
+ esac
+}
+
function analyze_sched_domain_result(){
sched_mc=$1
result=$2
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2009-08-20 16:08 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
2009-08-20 16:07 ` [LTP] Patch to fix make install issue in ebizzy Poornima Nayak
2009-08-20 16:52 ` Garrett Cooper
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:07 ` [LTP] Patch to include workload for consolidation verification Poornima Nayak
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:07 ` [LTP] Patch to get max sched mc & smt values based on kernel version Poornima Nayak
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:07 ` Poornima Nayak [this message]
2009-08-20 16:51 ` [LTP] New & modified reusable functions for new & existing testcases Garrett Cooper
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:07 ` [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue Poornima Nayak
2009-08-20 17:01 ` Garrett Cooper
2009-08-23 7:28 ` Subrata Modak
2009-08-20 16:07 ` [LTP] Patch for PM Master script to integrate new testcases Poornima Nayak
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:08 ` [LTP] Patch to fix cpu consolidation failure for kernbench on HT system Poornima Nayak
2009-08-20 17:00 ` Garrett Cooper
2009-08-23 7:28 ` Subrata Modak
2009-08-20 16:08 ` [LTP] New testcase to test timer_migration interface Poornima Nayak
2009-08-20 16:57 ` Garrett Cooper
2009-08-20 16:57 ` Garrett Cooper
2009-08-23 7:29 ` Subrata Modak
2009-08-20 16:53 ` [LTP] Patch to fix kernbench integration issue Garrett Cooper
2009-08-23 7:29 ` Subrata Modak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090820160731.30926.75897.sendpatchset@localhost.localdomain \
--to=mpnayak@linux.vnet.ibm.com \
--cc=arun@linux.vnet.ibm.com \
--cc=ego@in.ibm.com \
--cc=ltp-list@lists.sourceforge.net \
--cc=svaidy@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.