From e948e4b6a6cf1efd8d1f3d3359b1ad9891b3babc Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Wed, 17 Apr 2013 13:56:55 -0400 Subject: Cleaned up sched_trace output and code. --- run/executable/executable.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'run/executable/executable.py') diff --git a/run/executable/executable.py b/run/executable/executable.py index 263e305..e6f2003 100644 --- a/run/executable/executable.py +++ b/run/executable/executable.py @@ -6,9 +6,10 @@ from common import get_executable class Executable(object): '''Parent object that represents an executable for use in task-sets.''' - def __init__(self, exec_file, extra_args=None, stdout_file = None, stderr_file = None): + def __init__(self, exec_file, extra_args=None, stdout_file = None, + stderr_file = None, cwd = None): self.exec_file = get_executable(exec_file) - self.cwd = None + self.cwd = cwd self.stdout_file = stdout_file self.stderr_file = stderr_file self.sp = None -- cgit v1.2.2 From 25ccdb0cbc6b959b1f96c89b8bce91963cb67b4c Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Mon, 22 Apr 2013 15:32:12 -0400 Subject: Improved robustness of run_exps.py execution. Thanks to bcw and gelliott for debugging and ideas. * Print out experiment number and total experiments when starting experiments. * Only sleep and re-release tasks if tasks are waiting to release. * Fail experiment with verbose messages if any tasks fail before becoming ready to release. * When waiting for tasks to become ready for release, reset the waiting time whenever a new task (or task(s)) become ready. * Start regular tracers BEFORE the plugin switch to log data from the switch. * Check the number of running tasks AFTER trying to switch the linux scheduler. This gives plugin deactivate code the opportunity to kill these tasks. * If an invalid executable is specified in the schedule file, fail before attempting to run the experiment and print out the problem. * Propogate exceptions up from experiment failures instead of creating ExperimentFailed exceptions. This commit also made clock-frequency automatically ignored by parse_exps.py. The value of this would change by +- a Mhz between experiments, ruining graphs. --- run/executable/executable.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'run/executable/executable.py') diff --git a/run/executable/executable.py b/run/executable/executable.py index e6f2003..a2426f1 100644 --- a/run/executable/executable.py +++ b/run/executable/executable.py @@ -59,6 +59,9 @@ class Executable(object): def interrupt(self): self.sp.send_signal(signal.SIGINT) + def poll(self): + return self.sp.poll() + def terminate(self): '''Send the terminate signal to the binary.''' self.sp.terminate() -- cgit v1.2.2