summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/disparity/data/sqcif/1.bmp
Commit message (Collapse)AuthorAge
* Squashed commit of the sb-vbs branch.Leo Chan2020-10-22
Includes the SD-VBS benchmarks modified to: - Use libextra to loop as realtime jobs - Preallocate memory before starting their main computation - Accept input via stdin instead of via argc Does not include the SD-VBS matlab code. Fixes libextra execution in LITMUS^RT.
'alt'>
ecf6547
a338d68











ecf6547



















































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189





































































































                                                                                                                                                                  
                                              



















                                                                                   
                                                                               
                                











                                                                           



















































                                                                                                                                                                                                                                                                
#!/bin/bash

firstCore=$1
secondCore=$2
maxJobs=$3
userRunID=$4
#template_input=$9
tacleNames=tacleNames.txt

if [ $# -lt 7 ]; then
    echo "Usage $0 <first core ID> <second core ID> <number of iterations> <run ID> [bench names file] [WSS setings] [cache settings] [--contend]" # [input file]"
    exit
fi

if [ $# -gt 4 ]; then
    echo "Using list of benchmarks from $5"
    tacleNames=$5
fi

if [ $# -gt 5 ]; then
    echo "Using WSS settings from $6"
    wss_settings=$6
fi

if [ $# -gt 6 ]; then
    echo "Using cache settings from $7"
    cache_settings=$7
fi
#echo "Using template input from $9"

if [ "$EUID" -ne 0 ]
then
    echo "You need to be root to enable interrupt isolation and real-time execution!"
    exit
fi

echo "Making sure that binaries are up to date..."
while read i; do
    make bin/$i
done < $tacleNames
echo "Done. Disabling real-time throttling..."

# Turn off rt throttling
echo -1 > /proc/sys/kernel/sched_rt_runtime_us
echo "Done. Redirecting all interrupts to core 0..."

# Redirect all interrupts to core 0
i=0
for IRQ in /proc/irq/*
do
    # Skip default_smp_affinity
    if [ -d $IRQ ]; then
        irqList[$i]=$(cat $IRQ/smp_affinity_list)
        echo 0 2> /dev/null > $IRQ/smp_affinity_list
    fi
    i=$(( $i + 1 ))
done

# Read the names of each benchmark
j=0
while read i; do
    tacleProg[$j]=$i
    j=$(( $j + 1 ))
done < $tacleNames

echo "Done. Checking for wbinvd module..."
if [[ ! -f "/proc/wbinvd" ]]; then
    echo "ERROR: wbinvd module not loaded. Exiting..."
    exit
fi