Skip to contentSkip to conversation

Patch to fix kernbench integration issue

LTP Poornima Nayak 3 participants 25 messages Aug 20, 2009 – Aug 23, 2009 Kbuild

lore
Share & tools
lore
#0 lore raw

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

Makefile +1 -0
diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#1 lore raw

[LTP] Patch to fix make install issue in ebizzy

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

utils/benchmark/ebizzy-0.3/Makefile +2 -0
diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#2 lore raw

Re: [LTP] Patch to fix make install issue in ebizzy

Quoted 15 lines · Poornima Nayak

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

diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile

utils/benchmark/ebizzy-0.3/Makefile       2009-08-20 20:23:19.000000000 +0530 renamed from utils/benchmark/ebizzy-0.3/Makefile  2009-08-20 19:59:13.000000000 +0530 +0 -0
@@ -4,5 +4,7 @@ configure:

       ./configure
 ebizzy: configure
       gcc -Wall -Wshadow -lpthread  -o ebizzy ebizzy.c

utils/benchmark/ebizzy-0.3/Makefile       2009-08-20 20:23:19.000000000 +0530 renamed from utils/benchmark/ebizzy-0.3/Makefile  2009-08-20 19:59:13.000000000 +0530 +2 -0
+install:
+
Quoted 2 lines

 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#3 lore raw

Re: [LTP] Patch to fix make install issue in ebizzy

Quoted 8 lines · Garrett Cooper
Quoted 6 lines · Poornima Nayak

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

Quoted 14 lines

utils/benchmark/ebizzy-0.3/Makefile 2009-08-20 20:23:19.000000000 +0530 configure: · line 10

Quoted 11 lines

diff -uprN ltp-full-20090731_orig/utils/benchmark/ebizzy-0.3/Makefile ltp-full-20090731/utils/benchmark/ebizzy-0.3/Makefile

utils/benchmark/ebizzy-0.3/Makefile 2009-08-20 20:23:19.000000000 +0530 renamed from utils/benchmark/ebizzy-0.3/Makefile 2009-08-20 19:59:13.000000000 +0530 +2 -0
@@ -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

Quoted 12 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#4 lore raw

[LTP] Patch to include workload for consolidation verification

In reply to Poornima Nayak

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.

testcases/kernel/power_management/cpu_consolidation.py +1 -1
diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#5 lore raw

Re: [LTP] Patch to include workload for consolidation verification

Quoted 4 lines · Poornima Nayak

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.

Thanks.

Regards--
Subrata

Quoted 15 lines

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/cpu_consolidation.py ltp-full-20090731/testcases/kernel/power_management/cpu_consolidation.py

testcases/kernel/power_management/cpu_consolidation.py +1 -2
@@ -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()
 
------------------------------------------------------------------------------
Quoted 8 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#6 lore raw

[LTP] Patch to get max sched mc & smt values based on kernel version

In reply to Poornima Nayak

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.

testcases/kernel/power_management/get_sched_values.c +53 -0
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
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#7 lore raw

Re: [LTP] Patch to get max sched mc & smt values based on kernel version

Quoted 5 lines · Poornima Nayak

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.

Thanks.

Quoted 61 lines

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

testcases/kernel/power_management/get_sched_values.c +53 -1
@@ -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;
+	}
+}
 
------------------------------------------------------------------------------
Quoted 8 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#8 lore raw

[LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue

In reply to Poornima Nayak

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

testcases/kernel/power_management/Makefile +8 -2
diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#9 lore raw

Re: [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue

Quoted 36 lines · Poornima Nayak

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

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile

testcases/kernel/power_management/Makefile        2009-08-20 20:26:39.000000000 +0530 renamed from testcases/kernel/power_management/Makefile   2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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 ;

testcases/kernel/power_management/Makefile        2009-08-20 20:26:39.000000000 +0530 renamed from testcases/kernel/power_management/Makefile   2009-08-20 19:59:11.000000000 +0530 +3 -1
-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; \

testcases/kernel/power_management/Makefile        2009-08-20 20:26:39.000000000 +0530 renamed from testcases/kernel/power_management/Makefile   2009-08-20 19:59:11.000000000 +0530 +2 -0
@@ -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:
Quoted 5 lines

 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#10 lore raw

Re: [LTP] Patch for PM makefile for new testcases & fix test_sched_smt integration issue

Quoted 37 lines · Garrett Cooper
Quoted 35 lines · Poornima Nayak

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

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/Makefile ltp-full-20090731/testcases/kernel/power_management/Makefile

testcases/kernel/power_management/Makefile 2009-08-20 20:26:39.000000000 +0530 renamed from testcases/kernel/power_management/Makefile 2009-08-20 19:59:11.000000000 +0530 +7 -1
@@ -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;
Quoted 8 lines

testcases/kernel/power_management/Makefile 2009-08-20 20:26:39.000000000 +0530 install: · line 56

Quoted 6 lines
testcases/kernel/power_management/Makefile 2009-08-20 20:26:39.000000000 +0530 renamed from testcases/kernel/power_management/Makefile 2009-08-20 19:59:11.000000000 +0530 +1 -1
@@ -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

Quoted 12 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#11 lore raw

[LTP] Patch for PM Master script to integrate new testcases

In reply to Poornima Nayak

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.

testcases/kernel/power_management/runpwtests.sh +78 -37
diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh
@@ -40,6 +40,7 @@ export contacts="[email protected].
 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#12 lore raw

Re: [LTP] Patch for PM Master script to integrate new testcases

Quoted 4 lines · Poornima Nayak

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.

Thanks.

Regards--
Subrata

Quoted 198 lines

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/runpwtests.sh ltp-full-20090731/testcases/kernel/power_management/runpwtests.sh

testcases/kernel/power_management/runpwtests.sh +78 -38
@@ -40,6 +40,7 @@ export contacts="[email protected].
 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
 
------------------------------------------------------------------------------
Quoted 8 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#13 lore raw

[LTP] New & modified reusable functions for new & existing testcases

In reply to Poornima Nayak

Implemented reusable functions to learn system architecture before executing architecture specific testcases.

testcases/kernel/power_management/pm_include.sh +100 -107
diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/pm_include.sh ltp-full-20090731/testcases/kernel/power_management/pm_include.sh
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#14 lore raw

Re: [LTP] New & modified reusable functions for new & existing testcases

Quoted 309 lines · Poornima Nayak

Implemented reusable functions to learn system architecture before executing architecture specific testcases.

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/pm_include.sh ltp-full-20090731/testcases/kernel/power_management/pm_include.sh

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -112,6 +112,46 @@ function is_multi_socket() {

       fi
 }

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +40 -0
+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'-'

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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
 }

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -30
-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

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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 \

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +5 -21
-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() {

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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)

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -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
 }

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +1 -1
-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

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -360,6 +326,33 @@ $sched_mc for workload=$work_load"

       fi
 }

testcases/kernel/power_management/pm_include.sh   2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh      2009-08-20 19:59:11.000000000 +0530 +27 -0
+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
+}
+
Quoted 3 lines

 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#15 lore raw

Re: [LTP] New & modified reusable functions for new & existing testcases

Quoted 337 lines · Garrett Cooper
Quoted 302 lines · Poornima Nayak

Implemented reusable functions to learn system architecture before executing architecture specific testcases.

diff -uprN ltp-full-20090731_orig/testcases/kernel/power_management/pm_include.sh ltp-full-20090731/testcases/kernel/power_management/pm_include.sh

testcases/kernel/power_management/pm_include.sh 2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh 2009-08-20 19:59:11.000000000 +0530 +93 -107
@@ -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

testcases/kernel/power_management/pm_include.sh 2009-08-20 20:29:21.000000000 +0530 $sched_mc for workload=$work_load" · line 358

Quoted 10 lines
testcases/kernel/power_management/pm_include.sh 2009-08-20 20:29:21.000000000 +0530 renamed from testcases/kernel/power_management/pm_include.sh 2009-08-20 19:59:11.000000000 +0530 +7 -0
+                       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

testcases/kernel/power_management/pm_include.sh +4 -0
+                       return 0
+               else
+                       return 1
+               fi
Quoted 5 lines

Can be replaced by:

[ $num_of_cpus -gt 1 ]; return $?

etc.

Poornima,

Please address them as well.

Regards--
Subrata

Quoted 4 lines

Thanks,
-Garrett

Quoted 9 lines

------------------------------------------------------------------------------
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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#16 lore raw

[LTP] Patch to fix cpu consolidation failure for kernbench on HT system

In reply to Poornima Nayak

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

testcases/kernel/power_management/lib/sched_mc.py +30 -12
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
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#17 lore raw

Re: [LTP] Patch to fix cpu consolidation failure for kernbench on HT system

Quoted 86 lines · Poornima Nayak

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

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

testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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

testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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

testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +2 -1
@@ -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)

testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -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
testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +0 -0
@@ -499,24 +506,35 @@ def verify_sched_domain_dmesg(sched_mc_l

        print "Reading dmesg failed", details
        sys.exit(1)

testcases/kernel/power_management/lib/sched_mc.py 2009-08-20 20:33:21.000000000 +0530 renamed from testcases/kernel/power_management/lib/sched_mc.py    2009-08-20 19:59:11.000000000 +0530 +1 -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

Quoted 8 lines

        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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#18 lore raw

Re: [LTP] Patch to fix cpu consolidation failure for kernbench on HT system

In reply to Poornima Nayak
Quoted 3 lines · Poornima Nayak

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

Thanks.

Regards--
Subrata

Quoted 93 lines

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

testcases/kernel/power_management/lib/sched_mc.py +30 -13
@@ -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
 
------------------------------------------------------------------------------
Quoted 8 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#19 lore raw

[LTP] New testcase to test timer_migration interface

In reply to Poornima Nayak

This is the new tescase to test timer migration interface.

testcases/kernel/power_management/test_timer_migration.sh +22 -0
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
@@ -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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#20 lore raw

Re: [LTP] New testcase to test timer_migration interface

Quoted 20 lines · Poornima Nayak

This is the new tescase to test timer migration interface.

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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530 +12 -0
@@ -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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 line 22

Quoted 10 lines
testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530 +10 -0
+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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#21 lore raw

Re: [LTP] New testcase to test timer_migration interface

Quoted 35 lines · Garrett Cooper
Quoted 20 lines · Poornima Nayak

This is the new tescase to test timer migration interface.

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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530 +12 -0
@@ -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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 line 22

Quoted 10 lines
testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh    1970-01-01 05:30:00.000000000 +0530 +10 -0
+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

Quoted 5 lines

${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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#22 lore raw

Re: [LTP] New testcase to test timer_migration interface

In reply to Garrett Cooper
Quoted 35 lines · Garrett Cooper
Quoted 20 lines · Poornima Nayak

This is the new tescase to test timer migration interface.

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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh 1970-01-01 05:30:00.000000000 +0530 +12 -0
@@ -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

testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 line 22

Quoted 10 lines
testcases/kernel/power_management/test_timer_migration.sh 2009-08-20 20:49:48.000000000 +0530 renamed from testcases/kernel/power_management/test_timer_migration.sh 1970-01-01 05:30:00.000000000 +0530 +10 -0
+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

Quoted 8 lines

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

Quoted 12 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#23 lore raw
In reply to Poornima Nayak
Quoted 9 lines · Poornima Nayak

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

diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile

Makefile  2009-08-20 20:19:09.000000000 +0530 renamed from Makefile     2009-08-20 19:59:13.000000000 +0530 +0 -0
@@ -40,6 +40,7 @@ install: all
Quoted 7 lines

       @$(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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#24 lore raw
Quoted 7 lines · Garrett Cooper
Quoted 5 lines · Poornima Nayak

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

Quoted 14 lines

Makefile 2009-08-20 20:19:09.000000000 +0530 install: all · line 46

Quoted 11 lines

diff -uprN ltp-full-20090731_orig/Makefile ltp-full-20090731/Makefile

Makefile 2009-08-20 20:19:09.000000000 +0530 renamed from Makefile 2009-08-20 19:59:13.000000000 +0530 +1 -0
@@ -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

Quoted 12 lines

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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list