aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-11-26 17:06:27 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2012-11-26 17:06:27 -0500
commitb43b83beead92ff7cf28a5fe5a2710537268aae1 (patch)
treed9c29b14cd18a9df520f36d7e85eb460c30fa7a9 /config
parentcb8db5d30ee769304c2c2b00f2a7d9bcb3c4098f (diff)
Read locations of binary files from path instead of config.py.
Diffstat (limited to 'config')
-rw-r--r--config/config.example.py58
-rw-r--r--config/config.py45
2 files changed, 45 insertions, 58 deletions
diff --git a/config/config.example.py b/config/config.example.py
deleted file mode 100644
index 9f24097..0000000
--- a/config/config.example.py
+++ /dev/null
@@ -1,58 +0,0 @@
1from __future__ import print_function
2import os
3import sys
4import itertools
5
6'''
7These are paths to repository directories.
8
9'''
10REPOS = {'liblitmus' : '/home/hermanjl/git/liblitmus',
11 'sched_trace' : '/home/hermanjl/git/sched_trace',
12 'ft_tools' : '/home/hermanjl/git/feather-trace-tools',
13 'trace-cmd' : '/home/hermanjl/git/trace-cmd'}
14
15BINS = {'rtspin' : '{}/rtspin'.format(REPOS['liblitmus']),
16 'release' : '{}/release_ts'.format(REPOS['liblitmus']),
17 'ftcat' : '{}/ftcat'.format(REPOS['ft_tools']),
18 'ftsplit' : '{}/ft2csv'.format(REPOS['ft_tools']),
19 'ftsort' : '{}/ftsort'.format(REPOS['ft_tools']),
20 'st_trace' : '{}/st_trace'.format(REPOS['ft_tools']),
21 'trace-cmd' : '{}/trace-cmd'.format(REPOS['trace-cmd']),
22 'st_show' : '{}/st_show'.format(REPOS['sched_trace'])}
23
24DEFAULTS = {'params_file' : 'params.py',
25 'sched_file' : 'sched.py',
26 'exps_file' : 'exps.py',
27 'duration' : 10,
28 'spin' : 'rtspin',
29 'cycles' : 2000}
30
31FILES = {'ft_data' : 'ft.bin',
32 'linux_data' : 'trace.dat',
33 'sched_data' : 'st-{}.bin',
34 'log_data' : 'trace.slog',}
35
36PARAMS = {'sched' : 'scheduler',
37 'dur' : 'duration',
38 'kernel': 'uname',
39 'cycles' : 'cpu-frequency'}
40
41SCHED_EVENTS = range(501, 513)
42BASE_EVENTS = ['SCHED', 'RELEASE', 'SCHED2', 'TICK', 'CXS']
43ALL_EVENTS = ["%s_%s" % (e, t) for (e,t) in
44 itertools.product(BASE_EVENTS, ["START","END"])]
45ALL_EVENTS += ['RELEASE_LATENCY']
46BASE_EVENTS += ['RELEASE_LATENCY']
47
48valid = True
49for repo, loc in REPOS.items():
50 if not os.path.isdir(loc):
51 valid = False
52 print("Cannot access repo '%s' at '%s'" % (repo, loc), file=sys.stderr)
53for prog, loc in BINS.items():
54 if not os.path.isfile(loc):
55 valid = False
56 print("Cannot access program '%s' at '%s'" % (prog, loc), file=sys.stderr)
57if not valid:
58 print("Errors in config file", file=sys.stderr)
diff --git a/config/config.py b/config/config.py
new file mode 100644
index 0000000..3282705
--- /dev/null
+++ b/config/config.py
@@ -0,0 +1,45 @@
1from __future__ import print_function
2import itertools
3from common import get_executable
4
5'''Paths to binaries.'''
6BINS = {'rtspin' : get_executable('rtspin', 'liblitmus'),
7 'release' : get_executable('release_ts', 'liblitmus'),
8 'ftcat' : get_executable('ftcat', 'feather-trace-tools'),
9 'ftsplit' : get_executable('ft2csv', 'feather-trace-tools'),
10 'ftsort' : get_executable('ftsort', 'feather-trace-tools'),
11 'st_trace' : get_executable('st_trace', 'feather-trace-tools'),
12 'trace-cmd' : get_executable('trace-cmd', 'rt-kernelshark'),
13 # Optional, as sched_trace is not a publically supported repository
14 'st_show' : get_executable('st_show', 'sched_trace', True)}
15
16'''Names of output files.'''
17FILES = {'ft_data' : 'ft.bin',
18 'linux_data' : 'trace.dat',
19 'sched_data' : 'st-{}.bin',
20 'log_data' : 'trace.slog',}
21
22'''Default parameter names in params.py.'''
23PARAMS = {'sched' : 'scheduler',
24 'dur' : 'duration',
25 'kernel' : 'uname',
26 'cycles' : 'cpu-frequency'}
27
28'''Default values for program parameters.'''
29DEFAULTS = {'params_file' : 'params.py',
30 'sched_file' : 'sched.py',
31 'exps_file' : 'exps.py',
32 'duration' : 10,
33 'spin' : 'rtspin',
34 'cycles' : 2000}
35
36'''Default sched_trace events (this is all of them).'''
37SCHED_EVENTS = range(501, 513)
38
39'''Overhead events.'''
40OVH_BASE_EVENTS = ['SCHED', 'RELEASE', 'SCHED2', 'TICK', 'CXS']
41OVH_ALL_EVENTS = ["%s_%s" % (e, t) for (e,t) in
42 itertools.product(OVH_BASE_EVENTS, ["START","END"])]
43OVH_ALL_EVENTS += ['RELEASE_LATENCY']
44# This event doesn't have a START and END
45OVH_BASE_EVENTS += ['RELEASE_LATENCY']