public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] Patch to fix kernbench integration issue
@ 2009-08-20 16:06 Poornima Nayak
  2009-08-20 16:07 ` [LTP] Patch to fix make install issue in ebizzy Poornima Nayak
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:06 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Kernbench script's mode was not getting modified to executable as 'utils install'
was missing in LTP Makefile. Hence this patch fixes this issue.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile
--- ltp-full-20090731_orig/Makefile	2009-08-20 19:59:13.000000000 +0530
+++ ltp-full-20090731/Makefile	2009-08-20 20:19:09.000000000 +0530
@@ -40,6 +40,7 @@ install: all
 	@$(MAKE) -C m4 install
 	@$(MAKE) -C doc/man1 install
 	@$(MAKE) -C doc/man3 install
+	@$(MAKE) -C utils install
 ifneq ($(strip $(SKIP_IDCHECK)),1)
 	@./IDcheck.sh
 endif

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch to fix make install issue in ebizzy
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
@ 2009-08-20 16:07 ` Poornima Nayak
  2009-08-20 16:52   ` Garrett Cooper
  2009-08-20 16:07 ` [LTP] Patch to include workload for consolidation verification Poornima Nayak
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

install: was missing in Makefile of ebizzy, hence make install was throwing error.
This patch will fix make install error.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>


diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile
--- ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile	2009-08-20 19:59:13.000000000 +0530
+++ ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile	2009-08-20 20:23:19.000000000 +0530
@@ -4,5 +4,7 @@ configure:
 	./configure
 ebizzy: configure
 	gcc -Wall -Wshadow -lpthread  -o ebizzy ebizzy.c
+install:
+	
 clean:
 	rm -f ebizzy *~

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch to include workload for consolidation verification
  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:07 ` 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
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Modified to pass workload as a parameter for cpu cosolidation verifcation function.
This is required to verify cpu consolidation on Hypre threaded system for kernbench workload.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py
--- ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py	2009-08-20 19:59:11.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py	2009-08-20 20:39:25.000000000 +0530
@@ -45,7 +45,7 @@ def main(argv=None):
         duration=60
         trigger_workld(options.work_ld, options.stress, duration, background)
         generate_report()
-        status = validate_cpu_consolidation(options.mc_level, options.smt_level)
+        status = validate_cpu_consolidation(options.work_ld,options.mc_level, options.smt_level)
         reset_schedmc()
         if is_hyper_threaded():
             reset_schedsmt()

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch to get max sched mc & smt values based on kernel version
  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:07 ` [LTP] Patch to include workload for consolidation verification Poornima Nayak
@ 2009-08-20 16:07 ` Poornima Nayak
  2009-08-23  7:29   ` Subrata Modak
  2009-08-20 16:07 ` [LTP] New & modified reusable functions for new & existing testcases Poornima Nayak
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Replaces shell function with C functions to get max sched_mc & sched_smt value.
Since this uses LTP libraray function to analyze kernel version maintenence of the 
code will be easier.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>


diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/get_sched_values.c ltp-full-20090731/testcases/kernel/power_management/get_sched_values.c
--- ltp-full-20090731_orig/testcases/kernel/power_management/get_sched_values.c	1970-01-01 05:30:00.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/get_sched_values.c	2009-08-20 20:38:13.000000000 +0530
@@ -0,0 +1,53 @@
+/************************************************************************
+* Copyright (c) International Business Machines Corp., 2008
+* This program is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+* the GNU General Public License for more details.
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*
+***************************************************************************/
+#include <stdio.h>
+#include <test.h>
+
+int get_supp_sched_mc(void) {
+	if (tst_kvercmp(2,6,29) < 0 )
+		return 1;
+	else
+		return 2;
+}
+
+int get_supp_sched_smt(void) {
+	if (tst_kvercmp(2,6,29) < 0 )
+		return 1;
+	else
+		return 2;
+}
+
+int main(int argc, char **argv)
+{
+	char *param;
+	if (argc == 0)
+		return 1;
+	else
+	{
+		param = argv[1];
+		if (strcmp(param, "sched_mc")==0)
+			if (get_supp_sched_mc() == 0)
+				return 0;
+			else
+				return 1;
+		if (strcmp(param, "sched_smt")==0)
+                        if (get_supp_sched_smt() == 0)
+                                return 0;
+                        else
+                                return 1;
+	}
+}

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] New & modified reusable functions for new & existing testcases
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (2 preceding siblings ...)
  2009-08-20 16:07 ` [LTP] Patch to get max sched mc & smt values based on kernel version Poornima Nayak
@ 2009-08-20 16:07 ` Poornima Nayak
  2009-08-20 16:51   ` Garrett Cooper
  2009-08-20 16:07 ` [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue Poornima Nayak
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (3 preceding siblings ...)
  2009-08-20 16:07 ` [LTP] New & modified reusable functions for new & existing testcases Poornima Nayak
@ 2009-08-20 16:07 ` Poornima Nayak
  2009-08-20 17:01   ` Garrett Cooper
  2009-08-20 16:07 ` [LTP] Patch for PM Master script to integrate new testcases Poornima Nayak
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Patch to integrate test_sched_smt and timer_migration testcase to LTP.
Also intergrates the new file get_sched_value to LTP.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile
--- ltp-full-20090731_orig/testcases/kernel/power_management/Makefile	2009-08-20 19:59:11.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/Makefile	2009-08-20 20:26:39.000000000 +0530
@@ -23,12 +23,16 @@ SUBDIRS := 
 all: 
 	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
 	$(MAKE) check_kv_arch ;
+	$(MAKE) get_sched_values ;
 
-check_kv_arch: check_kv_arch.c
+check_kv_arch: check_kv_arch.c 
+	$(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
+get_sched_values: get_sched_values.c
 	$(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
 
 install:
 	@set -e; ln -f check_kv_arch ../../bin/check_kv_arch; \
+	ln -f get_sched_values ../../bin/get_sched_values; \
 	ln -f  change_freq.sh ../../bin/change_freq.sh; \
 	ln -f  change_govr.sh ../../bin/change_govr.sh; \
 	ln -f  check_cpufreq_sysfs_files.sh ../../bin/check_cpufreq_sysfs_files.sh; \
@@ -37,6 +41,8 @@ install:
 	ln -f  pm_include.sh ../../bin/pm_include.sh; \
 	ln -f  runpwtests.sh ../../bin/runpwtests.sh; \
 	ln -f  test_sched_mc.sh ../../bin/test_sched_mc.sh; \
+	ln -f  test_sched_mc.sh ../../bin/test_sched_smt.sh; \
+	ln -f  test_sched_mc.sh ../../bin/test_timer_migration.sh; \
 	ln -f  config_cpu_freq ../../bin/config_cpu_freq; \
 	ln -f  config_cpu_idle ../../bin/config_cpu_idle; \
 	ln -f  config_sched_mc ../../bin/config_sched_mc;
@@ -47,4 +53,4 @@ install:
 clean:
 	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@ ; done
 	rm -f check_kv_arch
-
+	rm -f get_sched_values

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch for PM Master script to integrate new testcases
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (4 preceding siblings ...)
  2009-08-20 16:07 ` [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue Poornima Nayak
@ 2009-08-20 16:07 ` 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
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:07 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Modified Master script of power management testcases to include new test case
and to increase test coverage on system which is not multi core but hyper threaded.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh
--- ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh	2009-08-20 19:59:11.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh	2009-08-20 20:41:02.000000000 +0530
@@ -40,6 +40,7 @@ export contacts="mpnayak@linux.vnet.ibm.
 export analysis="/proctstat"
 
 YES=0
+NO=1
 #List of reusable functions defined in pm_include.sh
 . ./pm_include.sh
 
@@ -61,34 +62,50 @@ if [ $RC -eq 1 ] ; then
 fi
 
 is_hyper_threaded; hyper_threaded=$?
+is_multi_socket; multi_socket=$?
+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 [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
-	if test_sched_mc.sh ; then
-		tst_resm TPASS "SCHED_MC sysfs tests"
+if [ $multi_socket -eq $YES -a $dual_core -eq $YES ] ; then
+	if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
+		if test_sched_mc.sh ; then
+			tst_resm TPASS "SCHED_MC sysfs tests"
+		else
+			RC=$?
+			tst_resm TFAIL "SCHED_MC sysfs tests"
+		fi
 	else
-		RC=$?
-		tst_resm TFAIL "SCHED_MC sysfs tests"
+    	tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
 	fi
 else
-    tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
+	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"
+	else
+		tst_resm TCONF "Not a suitable architecture for SCHED_MC test"
+	fi
 fi
 
 # Test sched_smt_power_savings interface on HT machines
 : $(( TST_COUNT += 1 ))
-if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
-    if test_sched_smt.sh; then
-		tst_resm TPASS "SCHED_SMT sysfs test"
+if [ $hyper_threaded -eq $YES ]; then
+	if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
+    	if test_sched_smt.sh; then
+			tst_resm TPASS "SCHED_SMT sysfs test"
+		else
+			RC=$?
+        	tst_resm TFAIL "SCHED_SMT sysfs test"
+    	fi
 	else
 		RC=$?
-        tst_resm TFAIL "SCHED_SMT sysfs test"
-    fi
+		tst_resm TFAIL "Required kernel configuration for SCHED_SMT NOT set"
+	fi
 else
-    if [ $hyper_threaded -eq $YES ]; then
+	if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
 		RC=$?
-        tst_resm TFAIL "Required kernel configuration for SCHED_SMT NOT set"
+        tst_resm TFAIL "sched_smt_power_saving interface in system not hyper-threaded"
     else
         tst_resm TCONF "Required Hyper Threading support for SCHED_SMT test"
     fi
@@ -152,13 +169,13 @@ if [ $? -ne 0 ] ; then
 	tst_resm TCONF "Python is not installed, CPU Consoldation\
 test cannot run"
 else
-	get_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=$?
 		analyze_sched_domain_result $sched_mc $RC 
 		if [ $hyper_threaded -eq $YES ]; then
-			get_max_sched_smt ; max_sched_smt=$?
+			get_sched_values sched_smt; max_sched_smt=$?
 			for sched_smt in `seq 0 $max_sched_smt`; do
 				# Testcase to validate sched_domain tree
 				: $(( TST_COUNT+=1))
@@ -168,32 +185,54 @@ else
 		fi
 	done
 fi
+
+: $(( TST_COUNT+=1))
+if [ -f /proc/sys/kernel/timer_migration ]; then
+	if test_timer_migration.sh; then
+        tst_resm TPASS "Timer Migration interface test"
+    else
+        RC=$?
+        tst_resm TFAIL "Timer migration interface test"
+    fi
+else
+	check_kv_arch "timer_migration"; supp=$? 
+	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
+
+: $(( TST_COUNT+=1))	
+if check_cpufreq_sysfs_files.sh; then
+        tst_resm TPASS "CPUFREQ sysfs tests"
+    else
+        RC=$?
+        tst_resm TFAIL "CPUFREQ sysfs tests "
+    fi
+
 if [ $# -gt 0 -a "$1" = "-exclusive" ]; then 
 	# Test CPU consolidation 
-	which python > /dev/null
-	if [ $? -ne 0 ] ; then
-		tst_resm TCONF "Python is not installed, CPU Consoldation\
- test not run"
-	else
-		sched_mc_smt_pass_cnt=0
+	if [ $multi_socket -eq $YES -a $multi_core -eq $YES ]; then
 		work_loads_list="ebizzy kernbench"
 		for sched_mc in `seq 0 $max_sched_mc`; do
 			for work_load in ${work_loads_list}
-            do
+           	do
 				: $(( TST_COUNT += 1 ))
 				sched_mc_pass_cnt=0
 				for repeat_test in `seq 1  10`; do
-					 #Testcase to validate CPU consolidation for sched_mc
+					#Testcase to validate CPU consolidation for sched_mc
 					if cpu_consolidation.py -c $sched_mc -w $work_load ; then
 						: $(( sched_mc_pass_cnt += 1 ))
 					fi
 				done
-				analyze_consolidation_result $sched_mc $work_load $sched_mc_pass_cnt	
+				analyze_package_consolidation_result $sched_mc $work_load $sched_mc_pass_cnt	
 			done	
 			if [ $hyper_threaded -eq $YES ]; then
 				for sched_smt in `seq 0 $max_sched_smt`; do
 					for work_load in ${work_loads_list}; do
-                    	: $(( TST_COUNT += 1 ))
+                   		: $(( TST_COUNT += 1 ))
 						sched_mc_smt_pass_cnt=0
 						for repeat_test in `seq 1  10`; do
 							# Testcase to validate CPU consolidation for
@@ -201,24 +240,26 @@ if [ $# -gt 0 -a "$1" = "-exclusive" ]; 
 							if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load; then
 								: $(( sched_mc_smt_pass_cnt += 1 ))
 							fi
+							echo "sched_mc_smt_pass_cnt = $sched_mc_smt_pass_cnt"
 						done
-						analyze_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt
-
-						#Testcase to validate consolidation at core level
-						sched_mc_smt_pass_cnt=0
-						stress="thread"
-						: $(( TST_COUNT += 1 ))
-						for repeat_test in `seq 1  10`; do
-							if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load -s $stress; then
-								: $(( sched_mc_smt_pass_cnt += 1 ))
-							fi
-						done
-						analyze_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt $stress
+						analyze_package_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt
 					done
 				done
 			fi
 		done
 	fi
+	if [ $hyper_threaded -eq $YES ]; then
+		#Testcase to validate consolidation at core level
+		sched_smt_pass_cnt=0
+		: $(( TST_COUNT += 1 ))
+		stress="thread"
+		for repeat_test in `seq 1  10`; do
+			if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load -s $stress; then
+				: $(( sched_smt_pass_cnt += 1 ))
+			fi
+		done
+		analyze_core_consolidation_result $sched_smt $work_load $sched_smt_pass_cnt
+	fi
 fi
 
 exit $RC

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] Patch to fix cpu consolidation failure for kernbench on HT system
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (5 preceding siblings ...)
  2009-08-20 16:07 ` [LTP] Patch for PM Master script to integrate new testcases Poornima Nayak
@ 2009-08-20 16:08 ` 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:53 ` [LTP] Patch to fix kernbench integration issue Garrett Cooper
  8 siblings, 2 replies; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:08 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

Threshold and validation functions modified for testcases run on HT systems. 

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py
--- ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py	2009-08-20 19:59:11.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py	2009-08-20 20:33:21.000000000 +0530
@@ -193,6 +193,8 @@ def trigger_ebizzy (stress, duration, ba
             threads = get_hyper_thread_count()
         if stress == "partial":
             threads = cpu_count / socket_count
+            if is_hyper_threaded():
+                threads = threads / get_hyper_thread_count()
         if stress == "full":
 	    threads = cpu_count
 
@@ -244,9 +246,11 @@ def trigger_kernbench (stress, backgroun
     olddir = os.getcwd()
     try:
         if stress == "thread":
-	        threads = 2
+	    threads = 2
         if stress == "partial":
-	        threads = cpu_count / socket_count
+	    threads = cpu_count / socket_count
+            if is_hyper_threaded():
+                threads = threads / get_hyper_thread_count()
         if stress == "full":
             threads = cpu_count
 
@@ -281,7 +285,8 @@ def trigger_kernbench (stress, backgroun
 	    sys.exit(1)
    
         get_proc_data(stats_start)
-        os.system ( '%s/kernbench -o 2 -M -H -n 1 >/dev/null 2>&1' % benchmark_path)
+        os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1' % (benchmark_path, threads))
+        print threads
         
         print "INFO: Workload kernbench triggerd"
         os.chdir(olddir)
@@ -438,6 +443,8 @@ def validate_cpugrp_map(cpu_group, sched
                         for i in range(0, len(core_cpus)):
                             if core_cpus[i] in modi_cpu_grp:
                                 modi_cpu_grp.remove(core_cpus[i]) 
+                                if len(modi_cpu_grp) == 0:
+                                    return 0
                             else:
                                 # If sched_smt == 0 then its oky if threads run
                                 # in different cores of same package 
@@ -499,24 +506,35 @@ def verify_sched_domain_dmesg(sched_mc_l
         print "Reading dmesg failed", details
         sys.exit(1)
 
-def validate_cpu_consolidation(sched_mc_level, sched_smt_level):
+def validate_cpu_consolidation(work_ld, sched_mc_level, sched_smt_level):
     ''' Verify if cpu's on which threads executed belong to same
     package
     '''
     cpus_utilized = list()
     try:
         for l in sorted(stats_percentage.keys()):
-	    #modify threshold
-            if stats_percentage[l][1] > 50:
-                cpu_id = stats_percentage[l][0].split("cpu")
-                if cpu_id[1] != '':
-                    cpus_utilized.append(int(cpu_id[1]))
-        cpus_utilized.sort()
+            #modify threshold
+            if is_hyper_threaded():
+                if stats_percentage[l][1] > 25 and work_ld == "kernbench":
+                    cpu_id = stats_percentage[l][0].split("cpu")
+                    if cpu_id[1] != '':
+                        cpus_utilized.append(int(cpu_id[1]))
+                else:
+                    if stats_percentage[l][1] > 50:
+                        cpu_id = stats_percentage[l][0].split("cpu")
+                        if cpu_id[1] != '':
+                            cpus_utilized.append(int(cpu_id[1]))
+            else:
+                if stats_percentage[l][1] > 50:
+                    cpu_id = stats_percentage[l][0].split("cpu")
+                    if cpu_id[1] != '':
+                        cpus_utilized.append(int(cpu_id[1]))
+                    cpus_utilized.sort()
         print "INFO: CPU's utilized ", cpus_utilized
 
         status = validate_cpugrp_map(cpus_utilized, sched_mc_level, sched_smt_level)
-	if status == 1:
-	    print "INFO: CPUs utilized is not in same package or core"
+        if status == 1:
+            print "INFO: CPUs utilized is not in same package or core"
         return(status)
     except Exception, details:
         print "Exception in validate_cpu_consolidation: ", details

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [LTP] New testcase to test timer_migration interface
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (6 preceding siblings ...)
  2009-08-20 16:08 ` [LTP] Patch to fix cpu consolidation failure for kernbench on HT system Poornima Nayak
@ 2009-08-20 16:08 ` Poornima Nayak
  2009-08-20 16:57   ` Garrett Cooper
  2009-08-20 16:53 ` [LTP] Patch to fix kernbench integration issue Garrett Cooper
  8 siblings, 1 reply; 25+ messages in thread
From: Poornima Nayak @ 2009-08-20 16:08 UTC (permalink / raw)
  To: vaidy, ltp-list, gautham, arun

This is the new tescase to test timer migration interface.

Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh
--- ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh	1970-01-01 05:30:00.000000000 +0530
+++ ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh	2009-08-20 20:49:48.000000000 +0530
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+. pm_include.sh
+
+valid_input="0 1"
+invalid_input="3 4 5 6 7 8 a abcefg x1999 xffff -1 -00000
+200000000000000000000000000000000000000000000000000000000000000000000000000000
+ox324 -0xfffffffffffffffffffff"
+test_file="/proc/sys/kernel/timer_migration"
+if [ ! -f ${test_file} ] ; then
+	echo "MISSING_FILE: missing file ${test_file}"
+	exit $MISSING_FILE
+fi
+
+RC=0
+echo "${0}: ---Valid test cases---"
+check_input "${valid_input}" valid $test_file 
+RC=$?
+echo "${0}: ---Invalid test cases---"
+check_input "${invalid_input}" invalid $test_file
+RC=$(( RC | $? ))
+exit $RC

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] New & modified reusable functions for new & existing testcases
  2009-08-20 16:07 ` [LTP] New & modified reusable functions for new & existing testcases Poornima Nayak
@ 2009-08-20 16:51   ` Garrett Cooper
  2009-08-23  7:29     ` Subrata Modak
  0 siblings, 1 reply; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 16:51 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:07 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> 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

1. Check for files before cat'ing or at least redirect stderr to /dev/null.
2. Please quote any and all variables from files cat'ed out.
3. Please convert bash-ism's to bourne compatible routines, e.g.

function foo() {

}

... to...

foo() {

}

4. This form:

if [ $num_of_cpus -gt 1 ]; then
+                       return 0
+               else
+                       return 1
+               fi

Can be replaced by:

[ $num_of_cpus -gt 1 ]; return $?

etc.

Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix make install issue in ebizzy
  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
  0 siblings, 1 reply; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 16:52 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:07 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> install: was missing in Makefile of ebizzy, hence make install was throwing error.
> This patch will fix make install error.
>
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>
>
> diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile
> --- ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile  2009-08-20 19:59:13.000000000 +0530
> +++ ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile       2009-08-20 20:23:19.000000000 +0530
> @@ -4,5 +4,7 @@ configure:
>        ./configure
>  ebizzy: configure
>        gcc -Wall -Wshadow -lpthread  -o ebizzy ebizzy.c
> +install:
> +
>  clean:
>        rm -f ebizzy *~

No need to address this. It's already been addressed in my
makefile-infra-rework patch.
Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix kernbench integration issue
  2009-08-20 16:06 [LTP] Patch to fix kernbench integration issue Poornima Nayak
                   ` (7 preceding siblings ...)
  2009-08-20 16:08 ` [LTP] New testcase to test timer_migration interface Poornima Nayak
@ 2009-08-20 16:53 ` Garrett Cooper
  2009-08-23  7:29   ` Subrata Modak
  8 siblings, 1 reply; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 16:53 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:06 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> Kernbench script's mode was not getting modified to executable as 'utils install'
> was missing in LTP Makefile. Hence this patch fixes this issue.
>
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>
> diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile
> --- ltp-full-20090731_orig/Makefile     2009-08-20 19:59:13.000000000 +0530
> +++ ltp-full-20090731/Makefile  2009-08-20 20:19:09.000000000 +0530
> @@ -40,6 +40,7 @@ install: all
>        @$(MAKE) -C m4 install
>        @$(MAKE) -C doc/man1 install
>        @$(MAKE) -C doc/man3 install
> +       @$(MAKE) -C utils install
>  ifneq ($(strip $(SKIP_IDCHECK)),1)
>        @./IDcheck.sh
>  endif

No need to worry about this item either. It's already addressed in my
makefile-infra-rework patch.
Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] New testcase to test timer_migration interface
  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
  0 siblings, 2 replies; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 16:57 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:08 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> This is the new tescase to test timer migration interface.
>
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh
> --- ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530
> @@ -0,0 +1,22 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +
> +valid_input="0 1"
> +invalid_input="3 4 5 6 7 8 a abcefg x1999 xffff -1 -00000
> +200000000000000000000000000000000000000000000000000000000000000000000000000000
> +ox324 -0xfffffffffffffffffffff"
> +test_file="/proc/sys/kernel/timer_migration"
> +if [ ! -f ${test_file} ] ; then
> +       echo "MISSING_FILE: missing file ${test_file}"
> +       exit $MISSING_FILE
> +fi
> +
> +RC=0
> +echo "${0}: ---Valid test cases---"
> +check_input "${valid_input}" valid $test_file
> +RC=$?
> +echo "${0}: ---Invalid test cases---"
> +check_input "${invalid_input}" invalid $test_file
> +RC=$(( RC | $? ))
> +exit $RC

1. Please replace

${0}

with:

${0##*}

2. Wouldn't it make more sense to say `exit $(( RC | $? )'?

Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] New testcase to test timer_migration interface
  2009-08-20 16:57   ` Garrett Cooper
@ 2009-08-20 16:57     ` Garrett Cooper
  2009-08-23  7:29     ` Subrata Modak
  1 sibling, 0 replies; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 16:57 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:57 AM, Garrett Cooper<yanegomi@gmail.com> wrote:
> On Thu, Aug 20, 2009 at 9:08 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
>> This is the new tescase to test timer migration interface.
>>
>> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>>
>> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh
>> --- ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530
>> +++ ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530
>> @@ -0,0 +1,22 @@
>> +#!/bin/bash
>> +
>> +. pm_include.sh
>> +
>> +valid_input="0 1"
>> +invalid_input="3 4 5 6 7 8 a abcefg x1999 xffff -1 -00000
>> +200000000000000000000000000000000000000000000000000000000000000000000000000000
>> +ox324 -0xfffffffffffffffffffff"
>> +test_file="/proc/sys/kernel/timer_migration"
>> +if [ ! -f ${test_file} ] ; then
>> +       echo "MISSING_FILE: missing file ${test_file}"
>> +       exit $MISSING_FILE
>> +fi
>> +
>> +RC=0
>> +echo "${0}: ---Valid test cases---"
>> +check_input "${valid_input}" valid $test_file
>> +RC=$?
>> +echo "${0}: ---Invalid test cases---"
>> +check_input "${invalid_input}" invalid $test_file
>> +RC=$(( RC | $? ))
>> +exit $RC
>
> 1. Please replace
>
> ${0}
>
> with:
>
> ${0##*}

    Sorry. I meant ${0##/*}
Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix cpu consolidation failure for kernbench on HT system
  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
  1 sibling, 0 replies; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 17:00 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:08 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> Threshold and validation functions modified for testcases run on HT systems.
>
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py
> --- ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530
> @@ -193,6 +193,8 @@ def trigger_ebizzy (stress, duration, ba
>             threads = get_hyper_thread_count()
>         if stress == "partial":
>             threads = cpu_count / socket_count
> +            if is_hyper_threaded():
> +                threads = threads / get_hyper_thread_count()
>         if stress == "full":
>            threads = cpu_count
>
> @@ -244,9 +246,11 @@ def trigger_kernbench (stress, backgroun
>     olddir = os.getcwd()
>     try:
>         if stress == "thread":
> -               threads = 2
> +           threads = 2
>         if stress == "partial":
> -               threads = cpu_count / socket_count
> +           threads = cpu_count / socket_count
> +            if is_hyper_threaded():
> +                threads = threads / get_hyper_thread_count()
>         if stress == "full":
>             threads = cpu_count
>
> @@ -281,7 +285,8 @@ def trigger_kernbench (stress, backgroun
>            sys.exit(1)
>
>         get_proc_data(stats_start)
> -        os.system ( '%s/kernbench -o 2 -M -H -n 1 >/dev/null 2>&1' % benchmark_path)
> +        os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1' % (benchmark_path, threads))
> +        print threads
>
>         print "INFO: Workload kernbench triggerd"
>         os.chdir(olddir)
> @@ -438,6 +443,8 @@ def validate_cpugrp_map(cpu_group, sched
>                         for i in range(0, len(core_cpus)):
>                             if core_cpus[i] in modi_cpu_grp:
>                                 modi_cpu_grp.remove(core_cpus[i])
> +                                if len(modi_cpu_grp) == 0:
> +                                    return 0
>                             else:
>                                 # If sched_smt == 0 then its oky if threads run
>                                 # in different cores of same package
> @@ -499,24 +506,35 @@ def verify_sched_domain_dmesg(sched_mc_l
>         print "Reading dmesg failed", details
>         sys.exit(1)
>
> -def validate_cpu_consolidation(sched_mc_level, sched_smt_level):
> +def validate_cpu_consolidation(work_ld, sched_mc_level, sched_smt_level):
>     ''' Verify if cpu's on which threads executed belong to same
>     package
>     '''
>     cpus_utilized = list()
>     try:
>         for l in sorted(stats_percentage.keys()):
> -           #modify threshold
> -            if stats_percentage[l][1] > 50:
> -                cpu_id = stats_percentage[l][0].split("cpu")
> -                if cpu_id[1] != '':
> -                    cpus_utilized.append(int(cpu_id[1]))
> -        cpus_utilized.sort()
> +            #modify threshold
> +            if is_hyper_threaded():
> +                if stats_percentage[l][1] > 25 and work_ld == "kernbench":
> +                    cpu_id = stats_percentage[l][0].split("cpu")
> +                    if cpu_id[1] != '':
> +                        cpus_utilized.append(int(cpu_id[1]))
> +                else:
> +                    if stats_percentage[l][1] > 50:
> +                        cpu_id = stats_percentage[l][0].split("cpu")
> +                        if cpu_id[1] != '':
> +                            cpus_utilized.append(int(cpu_id[1]))
> +            else:
> +                if stats_percentage[l][1] > 50:
> +                    cpu_id = stats_percentage[l][0].split("cpu")
> +                    if cpu_id[1] != '':
> +                        cpus_utilized.append(int(cpu_id[1]))
> +                    cpus_utilized.sort()
>         print "INFO: CPU's utilized ", cpus_utilized
>
>         status = validate_cpugrp_map(cpus_utilized, sched_mc_level, sched_smt_level)
> -       if status == 1:
> -           print "INFO: CPUs utilized is not in same package or core"
> +        if status == 1:
> +            print "INFO: CPUs utilized is not in same package or core"
>         return(status)
>     except Exception, details:
>         print "Exception in validate_cpu_consolidation: ", details

Why hyperthreaded? Why not multicore? I ask because hyperthreaded
processors are more difficult to disable and regulate IIRC (had to be
done at bootup), whereas multicore processors can be regulated by the
kernel scheduler and the relevant core setting.
Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue
  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
  0 siblings, 1 reply; 25+ messages in thread
From: Garrett Cooper @ 2009-08-20 17:01 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, Aug 20, 2009 at 9:07 AM, Poornima
Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> Patch to integrate test_sched_smt and timer_migration testcase to LTP.
> Also intergrates the new file get_sched_value to LTP.
>
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
>
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile
> --- ltp-full-20090731_orig/testcases/kernel/power_management/Makefile   2009-08-20 19:59:11.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/Makefile        2009-08-20 20:26:39.000000000 +0530
> @@ -23,12 +23,16 @@ SUBDIRS :=
>  all:
>        @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
>        $(MAKE) check_kv_arch ;
> +       $(MAKE) get_sched_values ;
>
> -check_kv_arch: check_kv_arch.c
> +check_kv_arch: check_kv_arch.c
> +       $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
> +get_sched_values: get_sched_values.c
>        $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
>
>  install:
>        @set -e; ln -f check_kv_arch ../../bin/check_kv_arch; \
> +       ln -f get_sched_values ../../bin/get_sched_values; \
>        ln -f  change_freq.sh ../../bin/change_freq.sh; \
>        ln -f  change_govr.sh ../../bin/change_govr.sh; \
>        ln -f  check_cpufreq_sysfs_files.sh ../../bin/check_cpufreq_sysfs_files.sh; \
> @@ -37,6 +41,8 @@ install:
>        ln -f  pm_include.sh ../../bin/pm_include.sh; \
>        ln -f  runpwtests.sh ../../bin/runpwtests.sh; \
>        ln -f  test_sched_mc.sh ../../bin/test_sched_mc.sh; \
> +       ln -f  test_sched_mc.sh ../../bin/test_sched_smt.sh; \
> +       ln -f  test_sched_mc.sh ../../bin/test_timer_migration.sh; \
>        ln -f  config_cpu_freq ../../bin/config_cpu_freq; \
>        ln -f  config_cpu_idle ../../bin/config_cpu_idle; \
>        ln -f  config_sched_mc ../../bin/config_sched_mc;
> @@ -47,4 +53,4 @@ install:
>  clean:
>        @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@ ; done
>        rm -f check_kv_arch
> -
> +       rm -f get_sched_values

Please don't worry about this. It's handled in my makefile-infra-rework patch.
Thanks,
-Garrett

------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue
  2009-08-20 17:01   ` Garrett Cooper
@ 2009-08-23  7:28     ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:28 UTC (permalink / raw)
  To: Garrett Cooper; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 10:01 -0700, Garrett Cooper wrote: 
> On Thu, Aug 20, 2009 at 9:07 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> > Patch to integrate test_sched_smt and timer_migration testcase to LTP.
> > Also intergrates the new file get_sched_value to LTP.
> >
> > Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
> >
> > diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile
> > --- ltp-full-20090731_orig/testcases/kernel/power_management/Makefile   2009-08-20 19:59:11.000000000 +0530
> > +++ ltp-full-20090731/testcases/kernel/power_management/Makefile        2009-08-20 20:26:39.000000000 +0530
> > @@ -23,12 +23,16 @@ SUBDIRS :=
> >  all:
> >        @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
> >        $(MAKE) check_kv_arch ;
> > +       $(MAKE) get_sched_values ;
> >
> > -check_kv_arch: check_kv_arch.c
> > +check_kv_arch: check_kv_arch.c
> > +       $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
> > +get_sched_values: get_sched_values.c
> >        $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
> >
> >  install:
> >        @set -e; ln -f check_kv_arch ../../bin/check_kv_arch; \
> > +       ln -f get_sched_values ../../bin/get_sched_values; \
> >        ln -f  change_freq.sh ../../bin/change_freq.sh; \
> >        ln -f  change_govr.sh ../../bin/change_govr.sh; \
> >        ln -f  check_cpufreq_sysfs_files.sh ../../bin/check_cpufreq_sysfs_files.sh; \
> > @@ -37,6 +41,8 @@ install:
> >        ln -f  pm_include.sh ../../bin/pm_include.sh; \
> >        ln -f  runpwtests.sh ../../bin/runpwtests.sh; \
> >        ln -f  test_sched_mc.sh ../../bin/test_sched_mc.sh; \
> > +       ln -f  test_sched_mc.sh ../../bin/test_sched_smt.sh; \
> > +       ln -f  test_sched_mc.sh ../../bin/test_timer_migration.sh; \
> >        ln -f  config_cpu_freq ../../bin/config_cpu_freq; \
> >        ln -f  config_cpu_idle ../../bin/config_cpu_idle; \
> >        ln -f  config_sched_mc ../../bin/config_sched_mc;
> > @@ -47,4 +53,4 @@ install:
> >  clean:
> >        @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@ ; done
> >        rm -f check_kv_arch
> > -
> > +       rm -f get_sched_values
> 
> Please don't worry about this. It's handled in my makefile-infra-rework patch.

I checked this till the Makefile work gets in.

Regards--
Subrata

> Thanks,
> -Garrett
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix cpu consolidation failure for kernbench on HT system
  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
  1 sibling, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:28 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 21:38 +0530, Poornima Nayak wrote: 
> Threshold and validation functions modified for testcases run on HT systems. 
> 
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

Thanks.

Regards--
Subrata

> 
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py
> --- ltp-full-20090731_orig/testcases/kernel/power_management/lib/sched_mc.py	2009-08-20 19:59:11.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/lib/sched_mc.py	2009-08-20 20:33:21.000000000 +0530
> @@ -193,6 +193,8 @@ def trigger_ebizzy (stress, duration, ba
>              threads = get_hyper_thread_count()
>          if stress == "partial":
>              threads = cpu_count / socket_count
> +            if is_hyper_threaded():
> +                threads = threads / get_hyper_thread_count()
>          if stress == "full":
>  	    threads = cpu_count
> 
> @@ -244,9 +246,11 @@ def trigger_kernbench (stress, backgroun
>      olddir = os.getcwd()
>      try:
>          if stress == "thread":
> -	        threads = 2
> +	    threads = 2
>          if stress == "partial":
> -	        threads = cpu_count / socket_count
> +	    threads = cpu_count / socket_count
> +            if is_hyper_threaded():
> +                threads = threads / get_hyper_thread_count()
>          if stress == "full":
>              threads = cpu_count
> 
> @@ -281,7 +285,8 @@ def trigger_kernbench (stress, backgroun
>  	    sys.exit(1)
>     
>          get_proc_data(stats_start)
> -        os.system ( '%s/kernbench -o 2 -M -H -n 1 >/dev/null 2>&1' % benchmark_path)
> +        os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1' % (benchmark_path, threads))
> +        print threads
>          
>          print "INFO: Workload kernbench triggerd"
>          os.chdir(olddir)
> @@ -438,6 +443,8 @@ def validate_cpugrp_map(cpu_group, sched
>                          for i in range(0, len(core_cpus)):
>                              if core_cpus[i] in modi_cpu_grp:
>                                  modi_cpu_grp.remove(core_cpus[i]) 
> +                                if len(modi_cpu_grp) == 0:
> +                                    return 0
>                              else:
>                                  # If sched_smt == 0 then its oky if threads run
>                                  # in different cores of same package 
> @@ -499,24 +506,35 @@ def verify_sched_domain_dmesg(sched_mc_l
>          print "Reading dmesg failed", details
>          sys.exit(1)
> 
> -def validate_cpu_consolidation(sched_mc_level, sched_smt_level):
> +def validate_cpu_consolidation(work_ld, sched_mc_level, sched_smt_level):
>      ''' Verify if cpu's on which threads executed belong to same
>      package
>      '''
>      cpus_utilized = list()
>      try:
>          for l in sorted(stats_percentage.keys()):
> -	    #modify threshold
> -            if stats_percentage[l][1] > 50:
> -                cpu_id = stats_percentage[l][0].split("cpu")
> -                if cpu_id[1] != '':
> -                    cpus_utilized.append(int(cpu_id[1]))
> -        cpus_utilized.sort()
> +            #modify threshold
> +            if is_hyper_threaded():
> +                if stats_percentage[l][1] > 25 and work_ld == "kernbench":
> +                    cpu_id = stats_percentage[l][0].split("cpu")
> +                    if cpu_id[1] != '':
> +                        cpus_utilized.append(int(cpu_id[1]))
> +                else:
> +                    if stats_percentage[l][1] > 50:
> +                        cpu_id = stats_percentage[l][0].split("cpu")
> +                        if cpu_id[1] != '':
> +                            cpus_utilized.append(int(cpu_id[1]))
> +            else:
> +                if stats_percentage[l][1] > 50:
> +                    cpu_id = stats_percentage[l][0].split("cpu")
> +                    if cpu_id[1] != '':
> +                        cpus_utilized.append(int(cpu_id[1]))
> +                    cpus_utilized.sort()
>          print "INFO: CPU's utilized ", cpus_utilized
> 
>          status = validate_cpugrp_map(cpus_utilized, sched_mc_level, sched_smt_level)
> -	if status == 1:
> -	    print "INFO: CPUs utilized is not in same package or core"
> +        if status == 1:
> +            print "INFO: CPUs utilized is not in same package or core"
>          return(status)
>      except Exception, details:
>          print "Exception in validate_cpu_consolidation: ", details
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] New testcase to test timer_migration interface
  2009-08-20 16:57   ` Garrett Cooper
  2009-08-20 16:57     ` Garrett Cooper
@ 2009-08-23  7:29     ` Subrata Modak
  1 sibling, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Garrett Cooper, Poornima Nayak; +Cc: ltp-list, vaidy, gautham, arun

On Thu, 2009-08-20 at 09:57 -0700, Garrett Cooper wrote: 
> On Thu, Aug 20, 2009 at 9:08 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> > This is the new tescase to test timer migration interface.
> >
> > Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
> >
> > diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh
> > --- ltp-full-20090731_orig/testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530
> > +++ ltp-full-20090731/testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530
> > @@ -0,0 +1,22 @@
> > +#!/bin/bash
> > +
> > +. pm_include.sh
> > +
> > +valid_input="0 1"
> > +invalid_input="3 4 5 6 7 8 a abcefg x1999 xffff -1 -00000
> > +200000000000000000000000000000000000000000000000000000000000000000000000000000
> > +ox324 -0xfffffffffffffffffffff"
> > +test_file="/proc/sys/kernel/timer_migration"
> > +if [ ! -f ${test_file} ] ; then
> > +       echo "MISSING_FILE: missing file ${test_file}"
> > +       exit $MISSING_FILE
> > +fi
> > +
> > +RC=0
> > +echo "${0}: ---Valid test cases---"
> > +check_input "${valid_input}" valid $test_file
> > +RC=$?
> > +echo "${0}: ---Invalid test cases---"
> > +check_input "${invalid_input}" invalid $test_file
> > +RC=$(( RC | $? ))
> > +exit $RC
> 
> 1. Please replace
> 
> ${0}
> 
> with:
> 
> ${0##*}
> 
> 2. Wouldn't it make more sense to say `exit $(( RC | $? )'?
> 

Poornima,

Can you also please address them in a new patch ?

Regards--
Subrata

> Thanks,
> -Garrett
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix kernbench integration issue
  2009-08-20 16:53 ` [LTP] Patch to fix kernbench integration issue Garrett Cooper
@ 2009-08-23  7:29   ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Garrett Cooper, Poornima Nayak; +Cc: ltp-list, vaidy, gautham, arun

On Thu, 2009-08-20 at 09:53 -0700, Garrett Cooper wrote: 
> On Thu, Aug 20, 2009 at 9:06 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> > Kernbench script's mode was not getting modified to executable as 'utils install'
> > was missing in LTP Makefile. Hence this patch fixes this issue.
> >
> > Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
> >
> > diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile
> > --- ltp-full-20090731_orig/Makefile     2009-08-20 19:59:13.000000000 +0530
> > +++ ltp-full-20090731/Makefile  2009-08-20 20:19:09.000000000 +0530
> > @@ -40,6 +40,7 @@ install: all
> >        @$(MAKE) -C m4 install
> >        @$(MAKE) -C doc/man1 install
> >        @$(MAKE) -C doc/man3 install
> > +       @$(MAKE) -C utils install
> >  ifneq ($(strip $(SKIP_IDCHECK)),1)
> >        @./IDcheck.sh
> >  endif
> 
> No need to worry about this item either. It's already addressed in my
> makefile-infra-rework patch.

Came here. Keeping till the Makefile work gets in.

Regards--
Subrata

> Thanks,
> -Garrett
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to fix make install issue in ebizzy
  2009-08-20 16:52   ` Garrett Cooper
@ 2009-08-23  7:29     ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Garrett Cooper; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 09:52 -0700, Garrett Cooper wrote: 
> On Thu, Aug 20, 2009 at 9:07 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> > install: was missing in Makefile of ebizzy, hence make install was throwing error.
> > This patch will fix make install error.
> >
> > Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>
> >
> >
> > diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile
> > --- ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile  2009-08-20 19:59:13.000000000 +0530
> > +++ ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile       2009-08-20 20:23:19.000000000 +0530
> > @@ -4,5 +4,7 @@ configure:
> >        ./configure
> >  ebizzy: configure
> >        gcc -Wall -Wshadow -lpthread  -o ebizzy ebizzy.c
> > +install:
> > +
> >  clean:
> >        rm -f ebizzy *~
> 
> No need to address this. It's already been addressed in my
> makefile-infra-rework patch.

Same as well.

Regards--
Subrata

> Thanks,
> -Garrett
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] New & modified reusable functions for new & existing testcases
  2009-08-20 16:51   ` Garrett Cooper
@ 2009-08-23  7:29     ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Garrett Cooper, Poornima Nayak; +Cc: ltp-list, vaidy, gautham, arun

On Thu, 2009-08-20 at 09:51 -0700, Garrett Cooper wrote: 
> On Thu, Aug 20, 2009 at 9:07 AM, Poornima
> Nayak<mpnayak@linux.vnet.ibm.com> wrote:
> > 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
> 
> 1. Check for files before cat'ing or at least redirect stderr to /dev/null.
> 2. Please quote any and all variables from files cat'ed out.
> 3. Please convert bash-ism's to bourne compatible routines, e.g.
> 
> function foo() {
> 
> }
> 
> ... to...
> 
> foo() {
> 
> }
> 
> 4. This form:
> 
> if [ $num_of_cpus -gt 1 ]; then
> +                       return 0
> +               else
> +                       return 1
> +               fi
> 
> Can be replaced by:
> 
> [ $num_of_cpus -gt 1 ]; return $?
> 
> etc.

Poornima,

Please address them as well.

Regards--
Subrata

> 
> Thanks,
> -Garrett
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch for PM Master script to integrate new testcases
  2009-08-20 16:07 ` [LTP] Patch for PM Master script to integrate new testcases Poornima Nayak
@ 2009-08-23  7:29   ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 21:37 +0530, Poornima Nayak wrote: 
> Modified Master script of power management testcases to include new test case
> and to increase test coverage on system which is not multi core but hyper threaded.
> 
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

Thanks.

Regards--
Subrata

> 
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh
> --- ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh	2009-08-20 19:59:11.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh	2009-08-20 20:41:02.000000000 +0530
> @@ -40,6 +40,7 @@ export contacts="mpnayak@linux.vnet.ibm.
>  export analysis="/proctstat"
> 
>  YES=0
> +NO=1
>  #List of reusable functions defined in pm_include.sh
>  . ./pm_include.sh
> 
> @@ -61,34 +62,50 @@ if [ $RC -eq 1 ] ; then
>  fi
> 
>  is_hyper_threaded; hyper_threaded=$?
> +is_multi_socket; multi_socket=$?
> +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 [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
> -	if test_sched_mc.sh ; then
> -		tst_resm TPASS "SCHED_MC sysfs tests"
> +if [ $multi_socket -eq $YES -a $dual_core -eq $YES ] ; then
> +	if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
> +		if test_sched_mc.sh ; then
> +			tst_resm TPASS "SCHED_MC sysfs tests"
> +		else
> +			RC=$?
> +			tst_resm TFAIL "SCHED_MC sysfs tests"
> +		fi
>  	else
> -		RC=$?
> -		tst_resm TFAIL "SCHED_MC sysfs tests"
> +    	tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
>  	fi
>  else
> -    tst_resm TCONF "Required kernel configuration for SCHED_MC NOT set"
> +	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"
> +	else
> +		tst_resm TCONF "Not a suitable architecture for SCHED_MC test"
> +	fi
>  fi
> 
>  # Test sched_smt_power_savings interface on HT machines
>  : $(( TST_COUNT += 1 ))
> -if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
> -    if test_sched_smt.sh; then
> -		tst_resm TPASS "SCHED_SMT sysfs test"
> +if [ $hyper_threaded -eq $YES ]; then
> +	if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
> +    	if test_sched_smt.sh; then
> +			tst_resm TPASS "SCHED_SMT sysfs test"
> +		else
> +			RC=$?
> +        	tst_resm TFAIL "SCHED_SMT sysfs test"
> +    	fi
>  	else
>  		RC=$?
> -        tst_resm TFAIL "SCHED_SMT sysfs test"
> -    fi
> +		tst_resm TFAIL "Required kernel configuration for SCHED_SMT NOT set"
> +	fi
>  else
> -    if [ $hyper_threaded -eq $YES ]; then
> +	if [ -f /sys/devices/system/cpu/sched_smt_power_savings ] ; then
>  		RC=$?
> -        tst_resm TFAIL "Required kernel configuration for SCHED_SMT NOT set"
> +        tst_resm TFAIL "sched_smt_power_saving interface in system not hyper-threaded"
>      else
>          tst_resm TCONF "Required Hyper Threading support for SCHED_SMT test"
>      fi
> @@ -152,13 +169,13 @@ if [ $? -ne 0 ] ; then
>  	tst_resm TCONF "Python is not installed, CPU Consoldation\
>  test cannot run"
>  else
> -	get_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=$?
>  		analyze_sched_domain_result $sched_mc $RC 
>  		if [ $hyper_threaded -eq $YES ]; then
> -			get_max_sched_smt ; max_sched_smt=$?
> +			get_sched_values sched_smt; max_sched_smt=$?
>  			for sched_smt in `seq 0 $max_sched_smt`; do
>  				# Testcase to validate sched_domain tree
>  				: $(( TST_COUNT+=1))
> @@ -168,32 +185,54 @@ else
>  		fi
>  	done
>  fi
> +
> +: $(( TST_COUNT+=1))
> +if [ -f /proc/sys/kernel/timer_migration ]; then
> +	if test_timer_migration.sh; then
> +        tst_resm TPASS "Timer Migration interface test"
> +    else
> +        RC=$?
> +        tst_resm TFAIL "Timer migration interface test"
> +    fi
> +else
> +	check_kv_arch "timer_migration"; supp=$? 
> +	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
> +
> +: $(( TST_COUNT+=1))	
> +if check_cpufreq_sysfs_files.sh; then
> +        tst_resm TPASS "CPUFREQ sysfs tests"
> +    else
> +        RC=$?
> +        tst_resm TFAIL "CPUFREQ sysfs tests "
> +    fi
> +
>  if [ $# -gt 0 -a "$1" = "-exclusive" ]; then 
>  	# Test CPU consolidation 
> -	which python > /dev/null
> -	if [ $? -ne 0 ] ; then
> -		tst_resm TCONF "Python is not installed, CPU Consoldation\
> - test not run"
> -	else
> -		sched_mc_smt_pass_cnt=0
> +	if [ $multi_socket -eq $YES -a $multi_core -eq $YES ]; then
>  		work_loads_list="ebizzy kernbench"
>  		for sched_mc in `seq 0 $max_sched_mc`; do
>  			for work_load in ${work_loads_list}
> -            do
> +           	do
>  				: $(( TST_COUNT += 1 ))
>  				sched_mc_pass_cnt=0
>  				for repeat_test in `seq 1  10`; do
> -					 #Testcase to validate CPU consolidation for sched_mc
> +					#Testcase to validate CPU consolidation for sched_mc
>  					if cpu_consolidation.py -c $sched_mc -w $work_load ; then
>  						: $(( sched_mc_pass_cnt += 1 ))
>  					fi
>  				done
> -				analyze_consolidation_result $sched_mc $work_load $sched_mc_pass_cnt	
> +				analyze_package_consolidation_result $sched_mc $work_load $sched_mc_pass_cnt	
>  			done	
>  			if [ $hyper_threaded -eq $YES ]; then
>  				for sched_smt in `seq 0 $max_sched_smt`; do
>  					for work_load in ${work_loads_list}; do
> -                    	: $(( TST_COUNT += 1 ))
> +                   		: $(( TST_COUNT += 1 ))
>  						sched_mc_smt_pass_cnt=0
>  						for repeat_test in `seq 1  10`; do
>  							# Testcase to validate CPU consolidation for
> @@ -201,24 +240,26 @@ if [ $# -gt 0 -a "$1" = "-exclusive" ]; 
>  							if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load; then
>  								: $(( sched_mc_smt_pass_cnt += 1 ))
>  							fi
> +							echo "sched_mc_smt_pass_cnt = $sched_mc_smt_pass_cnt"
>  						done
> -						analyze_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt
> -
> -						#Testcase to validate consolidation at core level
> -						sched_mc_smt_pass_cnt=0
> -						stress="thread"
> -						: $(( TST_COUNT += 1 ))
> -						for repeat_test in `seq 1  10`; do
> -							if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load -s $stress; then
> -								: $(( sched_mc_smt_pass_cnt += 1 ))
> -							fi
> -						done
> -						analyze_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt $stress
> +						analyze_package_consolidation_result $sched_mc $work_load $sched_mc_smt_pass_cnt $sched_smt
>  					done
>  				done
>  			fi
>  		done
>  	fi
> +	if [ $hyper_threaded -eq $YES ]; then
> +		#Testcase to validate consolidation at core level
> +		sched_smt_pass_cnt=0
> +		: $(( TST_COUNT += 1 ))
> +		stress="thread"
> +		for repeat_test in `seq 1  10`; do
> +			if cpu_consolidation.py -c $sched_mc -t $sched_smt -w $work_load -s $stress; then
> +				: $(( sched_smt_pass_cnt += 1 ))
> +			fi
> +		done
> +		analyze_core_consolidation_result $sched_smt $work_load $sched_smt_pass_cnt
> +	fi
>  fi
> 
>  exit $RC
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to get max sched mc & smt values based on kernel version
  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
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 21:37 +0530, Poornima Nayak wrote: 
> Replaces shell function with C functions to get max sched_mc & sched_smt value.
> Since this uses LTP libraray function to analyze kernel version maintenence of the 
> code will be easier.
> 
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

Thanks.

> 
> 
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/get_sched_values.c ltp-full-20090731/testcases/kernel/power_management/get_sched_values.c
> --- ltp-full-20090731_orig/testcases/kernel/power_management/get_sched_values.c	1970-01-01 05:30:00.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/get_sched_values.c	2009-08-20 20:38:13.000000000 +0530
> @@ -0,0 +1,53 @@
> +/************************************************************************
> +* Copyright (c) International Business Machines Corp., 2008
> +* This program is free software; you can redistribute it and/or modify
> +* it under the terms of the GNU General Public License as published by
> +* the Free Software Foundation; either version 2 of the License, or
> +* (at your option) any later version.
> +*
> +* This program is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> +* the GNU General Public License for more details.
> +* You should have received a copy of the GNU General Public License
> +* along with this program; if not, write to the Free Software
> +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> +*
> +***************************************************************************/
> +#include <stdio.h>
> +#include <test.h>
> +
> +int get_supp_sched_mc(void) {
> +	if (tst_kvercmp(2,6,29) < 0 )
> +		return 1;
> +	else
> +		return 2;
> +}
> +
> +int get_supp_sched_smt(void) {
> +	if (tst_kvercmp(2,6,29) < 0 )
> +		return 1;
> +	else
> +		return 2;
> +}
> +
> +int main(int argc, char **argv)
> +{
> +	char *param;
> +	if (argc == 0)
> +		return 1;
> +	else
> +	{
> +		param = argv[1];
> +		if (strcmp(param, "sched_mc")==0)
> +			if (get_supp_sched_mc() == 0)
> +				return 0;
> +			else
> +				return 1;
> +		if (strcmp(param, "sched_smt")==0)
> +                        if (get_supp_sched_smt() == 0)
> +                                return 0;
> +                        else
> +                                return 1;
> +	}
> +}
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [LTP] Patch to include workload for consolidation verification
  2009-08-20 16:07 ` [LTP] Patch to include workload for consolidation verification Poornima Nayak
@ 2009-08-23  7:29   ` Subrata Modak
  0 siblings, 0 replies; 25+ messages in thread
From: Subrata Modak @ 2009-08-23  7:29 UTC (permalink / raw)
  To: Poornima Nayak; +Cc: ltp-list, arun, vaidy, gautham

On Thu, 2009-08-20 at 21:37 +0530, Poornima Nayak wrote: 
> Modified to pass workload as a parameter for cpu cosolidation verifcation function.
> This is required to verify cpu consolidation on Hypre threaded system for kernbench workload.
> 
> Signed-off-by: poornima nayak <mpnayak@linux.vnet.ibm.com>

Thanks.

Regards--
Subrata

> 
> diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py
> --- ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py	2009-08-20 19:59:11.000000000 +0530
> +++ ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py	2009-08-20 20:39:25.000000000 +0530
> @@ -45,7 +45,7 @@ def main(argv=None):
>          duration=60
>          trigger_workld(options.work_ld, options.stress, duration, background)
>          generate_report()
> -        status = validate_cpu_consolidation(options.mc_level, options.smt_level)
> +        status = validate_cpu_consolidation(options.work_ld,options.mc_level, options.smt_level)
>          reset_schedmc()
>          if is_hyper_threaded():
>              reset_schedsmt()
> 
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2009-08-23  7:30 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [LTP] New & modified reusable functions for new & existing testcases Poornima Nayak
2009-08-20 16:51   ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox