[Patch 5/10]CPU consolidation testcase updated to handle exceptions

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

diff -uprN ltp_orig/testcases/kernel/power_management/cpu_consolidation.py 
ltp_patched/testcases/kernel/power_management/cpu_consolidation.py
--- ltp_orig/testcases/kernel/power_management/cpu_consolidation.py     
2009-06-30 15:04:19.000000000 +0530
+++ ltp_patched/testcases/kernel/power_management/cpu_consolidation.py  
2009-06-30 15:21:42.000000000 +0530
@@ -12,42 +12,47 @@ from sched_mc import *
 
 __author__ = "Poornima Nayak <[email protected]>"
 
-# Run test based on the command line arguments
-if __name__ == "__main__":
+class Usage(Exception):
+    def __init__(self, msg):
+        self.msg = msg
+
+def main(argv=None):
+    if argv is None:
+        argv = sys.argv
+
     usage = "-w"
     parser = OptionParser(usage)
     parser.add_option("-c", "--mc_level", dest="mc_level",
-        help="Sched mc power saving value 0/1/2")
+        default=0, help="Sched mc power saving value 0/1/2")
     parser.add_option("-t", "--smt_level", dest="smt_level",
         default=0, help="Sched smt power saving value 0/1/2")
+    parser.add_option("-w", "--workload", dest="work_ld",
+        default="ebizzy", help="Workload can be ebizzy/kernbench")
+    parser.add_option("-s", "--stress", dest="stress",
+        default="partial", help="Load on system is full/partial [i.e 
50%]/thread")
     (options, args) = parser.parse_args()
-    test_thread_consld = 0
-    
 
     try:
-        set_sched_mc_power(options.mc_level)
         count_num_cpu()
+        count_num_sockets()
+        if is_multi_socket():
+            set_sched_mc_power(options.mc_level)
+        if is_hyper_threaded():
+            set_sched_smt_power(options.smt_level)
         map_cpuid_pkgid()
         print "INFO: Created table mapping cpu to package"
-        
-        if int(options.smt_level) == 1 or int(options.smt_level) == 2 :
-            if is_hyper_threaded():
-                set_sched_smt_power(options.smt_level)
-                # Trigger ebizzy with 2 threads only to verify logical CPU
-                # consolidation
-                test_thread_consld = 1
-                trigger_workld(options.mc_level, test_thread_consld)
-                generate_report()
-                validate_cpu_consolidation(options.mc_level, options.smt_level)
-                test_thread_consld = 0
-            else:
-                print "INFO: No Hyper-threading support in this machine"
-                sys.exit(0)
-    
-        trigger_workld(options.mc_level, test_thread_consld)
+        background="no"
+        duration=60
+        trigger_workld(options.work_ld, options.stress, duration, background)
         generate_report()
-        validate_cpu_consolidation(options.mc_level, options.smt_level)
-        sys.exit(0)
+        status = validate_cpu_consolidation(options.mc_level, 
options.smt_level)
+        reset_schedmc()
+        if is_hyper_threaded():
+            reset_schedsmt()
+        return(status)        
     except Exception, details:
-        print "INFO(: CPU consolidation failed", details
-        sys.exit(1)
+        print "INFO: CPU consolidation failed", details
+        return(1)
+
+if __name__ == "__main__":
+    sys.exit(main())

------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to