From 5d97a6baf6166b74355c6e744e010949a46fd625 Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Sun, 7 Oct 2012 23:40:12 -0400 Subject: Split scheduling data by task criticality. --- experiment/experiment.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'experiment/experiment.py') diff --git a/experiment/experiment.py b/experiment/experiment.py index a44f798..e6dc92d 100644 --- a/experiment/experiment.py +++ b/experiment/experiment.py @@ -40,6 +40,8 @@ class Experiment(object): self.finished_dir = finished_dir self.proc_entries = proc_entries self.executables = executables + self.exec_out = None + self.exec_err = None self.__make_dirs() self.__assign_executable_cwds() @@ -151,23 +153,26 @@ class Experiment(object): print "[Exp %s]: %s" % (self.name, msg) def run_exp(self): - self.setup() - succ = False - try: - self.__run_tasks() - self.log("Saving results in %s" % self.finished_dir) - succ = True + self.setup() + + try: + self.__run_tasks() + self.log("Saving results in %s" % self.finished_dir) + succ = True + finally: + self.teardown() finally: - self.teardown() + self.log("Switching to Linux scheduler") + litmus_util.switch_scheduler("Linux") if succ: self.__save_results() self.log("Experiment done!") - def setup(self): + def setup(self): self.log("Writing %d proc entries" % len(self.proc_entries)) map(methodcaller('write_proc'), self.proc_entries) @@ -185,13 +190,13 @@ class Experiment(object): executable.stdout_file = self.exec_out executable.stderr_file = self.exec_err map(set_out, self.executables) - + time.sleep(4) def teardown(self): - self.exec_out.close() - self.exec_err.close() - + self.exec_out and self.exec_out.close() + self.exec_err and self.exec_err.close() + sleep_time = 5 self.log("Sleeping %d seconds to allow buffer flushing" % sleep_time) time.sleep(sleep_time) @@ -199,6 +204,3 @@ class Experiment(object): self.log("Stopping tracers") map(methodcaller('stop_tracing'), self.tracers) - self.log("Switching to Linux scheduler") - litmus_util.switch_scheduler("Linux") - -- cgit v1.2.2