summaryrefslogtreecommitdiffstats
path: root/rteval
diff options
context:
space:
mode:
Diffstat (limited to 'rteval')
-rw-r--r--rteval/cyclictest.py20
-rw-r--r--rteval/rteval.conf8
-rw-r--r--rteval/rteval.py43
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