diff options
Diffstat (limited to 'rteval')
-rw-r--r-- | rteval/cyclictest.py | 20 | ||||
-rw-r--r-- | rteval/rteval.conf | 8 | ||||
-rw-r--r-- | rteval/rteval.py | 43 |
3 files changed, 54 insertions, 17 deletions
diff --git a/rteval/cyclictest.py b/rteval/cyclictest.py index abf8a95..977756d 100644 --- a/rteval/cyclictest.py +++ b/rteval/cyclictest.py @@ -163,8 +163,10 @@ class Cyclictest(Thread): self.stopevent = Event() self.finished = Event() self.threads = params.setdefault('threads', None) - self.priority = params.setdefault('priority', 95) - self.interval = "-i100" + self.priority = int(params.setdefault('priority', 95)) + self.interval = int(params.setdefault('interval', 100)) + self.distance = int(params.setdefault('distance', 0)) + self.buckets = int(params.setdefault('buckets', 2000)) self.debugging = params.setdefault('debugging', False) self.reportfile = 'cyclictest.rpt' self.params = params @@ -201,19 +203,13 @@ class Cyclictest(Thread): return '--smp' def run(self): - if self.params.has_key('buckets'): - buckets = int(self.params.buckets) - else: - buckets = 2000 - if self.params.has_key('interval'): - self.interval = '-i%d' % int(self.params.interval) self.cmd = ['cyclictest', - self.interval, '-qm', - '-d0', - '-h %d' % buckets, - "-p%d" % int(self.priority), + '-i %d' % self.interval, + '-d %d' % self.distance, + '-h %d' % self.buckets, + "-p %d" % self.priority, self.getmode(), ] diff --git a/rteval/rteval.conf b/rteval/rteval.conf index ddada8f..0d1afb3 100644 --- a/rteval/rteval.conf +++ b/rteval/rteval.conf @@ -7,15 +7,17 @@ report_interval: 600 [cyclictest] buckets: 2000 -interval: 100 +interval: 100 +distance: 0 +priority: 95 [loads] kcompile: module hackbench: module dbench: external - + [kcompile] -source: linux-2.6.21.1.tar.bz2 +source: linux-2.6.39.tar.bz2 jobspercore: 2 [hackbench] diff --git a/rteval/rteval.py b/rteval/rteval.py index 5843d78..a8954a0 100644 --- a/rteval/rteval.py +++ b/rteval/rteval.py @@ -124,7 +124,7 @@ class RtEval(object): 'hackbench' : 'module', }, 'kcompile' : { - 'source' : 'linux-2.6.21.tar.bz2', + 'source' : 'linux-2.6.39.tar.bz2', 'jobspercore': '2', }, 'hackbench' : { @@ -150,6 +150,24 @@ class RtEval(object): # (cmd line overrides config file values) self.config.AppendConfig('rteval', self.cmd_options) + if self.cmd_options.cyclictest_interval != None: + self.config.AppendConfig('cyclictest', { "interval":self.cmd_options.cyclictest_interval }) + + if self.cmd_options.cyclictest_distance != None: + self.config.AppendConfig('cyclictest', { "distance":self.cmd_options.cyclictest_distance }) + + if self.cmd_options.cyclictest_buckets != None: + self.config.AppendConfig('cyclictest', { "buckets":self.cmd_options.cyclictest_distance }) + + if self.cmd_options.cyclictest_priority != None: + self.config.AppendConfig('cyclictest', { "priority":self.cmd_options.cyclictest_priority }) + + if self.cmd_options.hackbench_jobspercore != None: + self.config.AppendConfig('hackbench', { "jobspercore":self.cmd_options.hackbench_jobspercore }) + + if self.cmd_options.kcompile_jobspercore != None: + self.config.AppendConfig('kcompile', { "jobspercore":self.cmd_options.kcompile_jobspercore }) + self.debug("workdir: %s" % self.workdir) # prepare a mailer, if that's configured @@ -386,11 +404,32 @@ class RtEval(object): parser.add_option("-L", "--logging", dest="logging", action='store_true', default=False, help='log the output of the loads in the report directory') - parser.add_option("-O", "--onlyload", dest="onlyload", action='store_true', default=False, help="only run the loads (don't run measurement threads)") + # module options + parser.add_option("", "--cyclictest-interval", dest="cyclictest_interval", + action="store", type="int", + help="cyclictest measurement interval in microseconds") + parser.add_option("", "--cyclictest-distance", dest="cyclictest_distance", + action="store", type="int", + help="cyclictest measurement interval increment in microseconds") + parser.add_option("", "--cyclictest-buckets", dest="cyclictest_buckets", + action="store", type="int", + help="number of cyclictest 1 microsecond histogram buckets") + parser.add_option("", "--cyclictest-priority", dest="cyclictest_priority", + action="store", type="int", + help="SCHED_FIFO priority of measurement threads") + + parser.add_option("", "--hackbench-jobspercore", dest="hackbench_jobspercore", + action="store", type="int", + help="number of hackbench jobs per-core") + parser.add_option("", "--kcompile-jobspercore", dest="kcompile_jobspercore", + action="store", type="int", + help="number of kernel compile jobs per-core") + + (self.cmd_options, self.cmd_arguments) = parser.parse_args(args = cmdargs) if self.cmd_options.duration: mult = 1.0 |