diff options
author | Mac Mollison <mollison@cs.unc.edu> | 2009-03-19 01:41:39 -0400 |
---|---|---|
committer | Mac Mollison <mollison@cs.unc.edu> | 2009-03-19 01:41:39 -0400 |
commit | 42174e7384ef799d8473074eedffdb8108a145c7 (patch) | |
tree | e7d1ed968d824b1fe8d96a518c736ad3af26c267 | |
parent | 8e45212798dd3797c08850a613690e586afe8ae6 (diff) |
More very basic work on test driver
-rw-r--r-- | test_driver/make_devices | 18 | ||||
-rw-r--r-- | test_driver/test.py | 27 |
2 files changed, 43 insertions, 2 deletions
diff --git a/test_driver/make_devices b/test_driver/make_devices new file mode 100644 index 0000000..4d4554b --- /dev/null +++ b/test_driver/make_devices | |||
@@ -0,0 +1,18 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | #Creates device drivers for traces (litmus_log, ft_trace and sched_trace) | ||
4 | #Taken from http://www.cs.unc.edu/~anderson/litmus-rt/doc/tracing.html | ||
5 | |||
6 | LITMUS_LOG_MAJOR=`grep litmus_log /proc/devices | awk '{print $1}'` | ||
7 | FT_TRACE_MAJOR=`grep ft_trace /proc/devices | awk '{print $1}'` | ||
8 | SCHED_TRACE_MAJOR=`grep sched_trace /proc/devices | awk '{print $1}'` | ||
9 | |||
10 | mknod litmus_log c $LITMUS_LOG_MAJOR 0 | ||
11 | mknod ft_trace c $FT_TRACE_MAJOR 0 | ||
12 | |||
13 | NUM_PROCS=$((`grep 'processor' /proc/cpuinfo | wc -l` - 1)) | ||
14 | |||
15 | for P in `seq 0 $NUM_PROCS` | ||
16 | do | ||
17 | mknod "sched_trace$P" c $SCHED_TRACE_MAJOR $P | ||
18 | done | ||
diff --git a/test_driver/test.py b/test_driver/test.py index edd55ee..236f52e 100644 --- a/test_driver/test.py +++ b/test_driver/test.py | |||
@@ -3,10 +3,14 @@ | |||
3 | ########## | 3 | ########## |
4 | 4 | ||
5 | #liblitmus directory | 5 | #liblitmus directory |
6 | liblitmus_dir = '/root/liblitmus' | 6 | liblitmus_dir = '/root/liblitmus/' |
7 | 7 | ||
8 | #ft_trace directory | 8 | #ft_trace directory |
9 | ft_trace_dir = '/root/ft_trace' | 9 | ft_trace_dir = '/root/ft_trace/' |
10 | |||
11 | #device files directory | ||
12 | #You should put the make_devices program into this directory, and chmod +x it. | ||
13 | device_dir = '/root/device_files/' | ||
10 | 14 | ||
11 | #desired scheduling policy | 15 | #desired scheduling policy |
12 | #options listed in /proc/litmus/plugins | 16 | #options listed in /proc/litmus/plugins |
@@ -29,6 +33,25 @@ def main(): | |||
29 | #Set scheduling policy | 33 | #Set scheduling policy |
30 | os.system('cat ' + policy + ' > ' + '/proc/litmus/active_policy') | 34 | os.system('cat ' + policy + ' > ' + '/proc/litmus/active_policy') |
31 | 35 | ||
36 | #Setup the device files for the traces | ||
37 | os.system(device_dir + 'make_devices') | ||
38 | |||
39 | #Set up environment variables needed for st_trace script | ||
40 | os.system('FTCAT=' + ft_trace_dir + 'ftcat') | ||
41 | os.system('FTDEV=' + device_dir) | ||
42 | os.system('export FTCAT') | ||
43 | os.system('export FTDEV') | ||
44 | |||
45 | #Current steps... | ||
46 | #Run st_trace | ||
47 | #Let it get set up, then suspend | ||
48 | #let it run in background with bg <job> | ||
49 | #Run rtspin 10 100 1000 twice; suspend, run in background | ||
50 | #Bring rtspins to foreground and stop them. | ||
51 | #Bring st_trace to foreground, hit enter to complete it. | ||
52 | |||
53 | #Need to try to do the above with rt_launch and then release_ts | ||
54 | |||
32 | 55 | ||
33 | 56 | ||
34 | ############## | 57 | ############## |