The library file in powermanagement testcase is modified to support sched_mc=2 testing. Wrote a another function to generate load in the system through make -j x
Signed-off-by: poornima nayak <[email protected]> diff -uprN ltp_orig/testcases/kernel/power_management/lib/sched_mc.py ltp/testcases/kernel/power_management/lib/sched_mc.py --- ltp_orig/testcases/kernel/power_management/lib/sched_mc.py 2009-04-17 16:32:36.000000000 -0400 +++ ltp/testcases/kernel/power_management/lib/sched_mc.py 2009-04-17 16:33:16.000000000 -0400 @@ -132,48 +132,86 @@ def map_cpuid_pkgid(): print "Mapping of CPU to pkg id failed", e sys.exit(1) -def trigger_workld(workload, test_thread_consld): - ''' Based on value in argument passed triggers workloads. - Triggers workload with number of threads same as number - of cores in package. +def trigger_ebizzy (test_thread_consld): + ''' Triggers ebizzy workload for sched_mc=1 + testing ''' if test_thread_consld != 0: threads = 2 else: threads = cpu_count / len(cpu_map) - duration = 60 # let the test run for 1 minute + + duration = 60 # let the test run for 1 minute + olddir = os.getcwd() path = '%s/utils/benchmark' % os.environ['LTPROOT'] - try: - olddir = os.getcwd() - os.chdir(path) - wklds_avlbl = list() - workload_dir = "" - # Use the latest version of similar workload available - for file_name in os.listdir('.'): - if file_name.find(workload) != -1: - wklds_avlbl.append(file_name) - wklds_avlbl.sort() - workload_dir = wklds_avlbl[len(wklds_avlbl)-1] - if workload_dir != "": - new_path = os.path.join(path,"%s" % workload_dir) + os.chdir(path) + wklds_avlbl = list() + workload = "ebizzy" + workload_dir = "" + + # Use the latest version of similar workload available + for file_name in os.listdir('.'): + if file_name.find(workload) != -1: + wklds_avlbl.append(file_name) + + wklds_avlbl.sort() + workload_dir = wklds_avlbl[len(wklds_avlbl)-1] + if workload_dir != "": + new_path = os.path.join(path,"%s" % workload_dir) + get_proc_data(stats_start) + try: os.chdir(new_path) - get_proc_data(stats_start) - if workload == "ebizzy": - try: - os.system('./ebizzy -t%s -s4096 -S %s >/dev/null' - % (threads, duration)) - print "INFO: ebizzy workload triggerd" - os.chdir(olddir) - get_proc_data(stats_stop) - except OSError, e: - print "Workload trigger failed", e - sys.exit(1) - else: - print "Benchmark/Workload is missing in LTP utils" + os.system('./ebizzy -t%s -s4096 -S %s >/dev/null' + % (threads, duration)) + print "INFO: ebizzy workload triggerd" os.chdir(olddir) + get_proc_data(stats_stop) + except Exception, details: + print "Ebizzy workload trigger failed ", details sys.exit(1) - except OSError, e: - print "Benchmark/Workload trigger failed ", e + +def trigger_mc2_workld (test_thread_consld): + ''' Trigger load on system like kernbench. + Copys existing copy of LTP into as LTP2 and then builds it + with make -j + ''' + olddir = os.getcwd() + try: + if test_thread_consld != 0: + threads = 2 + else: + threads = cpu_count / len(cpu_map) + src_path = os.environ['LTPROOT'] + dst_path = src_path + '2' + os.system ('cp -r %s/ %s/ >/dev/null' %(src_path, dst_path)) + os.chdir(dst_path) + os.system ( 'make clean >/dev/null') + get_proc_data(stats_start) + os.system('make -j %s >/dev/null 2>&1' % threads) + print "INFO: Workload for sched_mc=2 triggerd" + os.chdir(olddir) + os.system ('rm -rf %s >/dev/null' % dst_path) + get_proc_data(stats_stop) + except Exception, details: + print "Workload trigger using make -j failed ", details + sys.exit(1) + +def trigger_workld(sched_mc, test_thread_consld): + ''' Based on sched_mc value invokes workload triggering function. + ''' + if test_thread_consld != 0: + threads = 2 + else: + threads = cpu_count / len(cpu_map) + duration = 60 # let the test run for 1 minute + path = '%s/utils/benchmark' % os.environ['LTPROOT'] + try: + if int (sched_mc) == 1: + trigger_ebizzy (test_thread_consld) + if int (sched_mc) == 2: + trigger_mc2_workld (test_thread_consld) + except Exception, details: + print "INFO: CPU consolidation failed", details sys.exit(1) def generate_report(): ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
