diff options
Diffstat (limited to 'run/executable/ftcat.py')
-rw-r--r-- | run/executable/ftcat.py | 21 |
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 @@ | |||
1 | import os | 1 | import os |
2 | import stat | 2 | import stat |
3 | 3 | ||
4 | from executable import Executable | 4 | from .executable import Executable |
5 | 5 | ||
6 | class FTcat(Executable): | 6 | class 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 | ||