aboutsummaryrefslogtreecommitdiffstats
path: root/run/executable/ftcat.py
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-02-21 18:32:24 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-02-21 18:32:24 -0500
commit6e2b99a0870e467e35c8b4b95aeb1e665dded413 (patch)
tree1e4b4d000c6b53b93a35b5446dc774d4799c987c /run/executable/ftcat.py
parent9bcbb4048cd82ea11ed469731eae95d808b99449 (diff)
Many bugfixes motivated by some end-to-end testing.
Diffstat (limited to 'run/executable/ftcat.py')
-rw-r--r--run/executable/ftcat.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/run/executable/ftcat.py b/run/executable/ftcat.py
index 5da8fa7..1f0420b 100644
--- a/run/executable/ftcat.py
+++ b/run/executable/ftcat.py
@@ -1,18 +1,15 @@
1import os 1import os
2import stat 2import stat
3 3
4from executable import Executable 4from .executable import Executable
5 5
6class FTcat(Executable): 6class FTcat(Executable):
7 '''Used to wrap the ftcat binary in the Experiment object.''' 7 '''Used to wrap the ftcat binary in the Experiment object.'''
8 8
9 def __init__(self, ft_cat_bin, stdout_file, stderr_file, dev, events, cpu=None): 9 def __init__(self, ft_cat_bin, stdout_file, stderr_file, dev, events, cpu=None):
10 '''Extends the Executable initializer method with ftcat attributes.''' 10 '''Extends the Executable initializer method with ftcat attributes.'''
11 super(FTcat, self).__init__('/usr/bin/taskset')
11 12
12 # hack to run FTCat at higher priority
13 chrt_bin = '/usr/bin/chrt'
14
15 super(FTcat, self).__init__(chrt_bin)
16 self.stdout_file = stdout_file 13 self.stdout_file = stdout_file
17 self.stderr_file = stderr_file 14 self.stderr_file = stderr_file
18 15
@@ -23,11 +20,15 @@ class FTcat(Executable):
23 if events is None: 20 if events is None:
24 raise Exception('No events!') 21 raise Exception('No events!')
25 22
26 # hack to run FTCat at higher priority
27 self.extra_args = ['-f', '40']
28 if cpu is not None: 23 if cpu is not None:
29 # and bind it to a CPU 24 # Execute only on the given CPU
30 self.extra_args.extend(['/usr/bin/taskset', '-c', str(cpu)]) 25 self.extra_args = ['-c', str(cpu)]
26 else:
27 # Execute on any cpu
28 self.extra_args = ['0xFFFFFFFF']
29
31 events_str_arr = map(str, events) 30 events_str_arr = map(str, events)
32 self.extra_args.extend([ft_cat_bin, dev] + events_str_arr) 31 ft_cat_cmd = [ft_cat_bin, dev] + list(events_str_arr)
32
33 self.extra_args.extend(ft_cat_cmd)
33 34