blob: e6ec0c81b54dc91b638e0b756919f08c0cb3da48 (
plain) (
blame)
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
|
#
# rt-mutex test
#
# Op: C(ommand)/T(est)/W(ait)
# | opcode
# | | threadid: 0-7
# | | | opcode argument
# | | | |
# C: lock: 0: 0
#
# Commands
#
# opcode opcode argument
# schedother nice value
# schedfifo priority
# lock lock nr (0-7)
# locknowait lock nr (0-7)
# lockint lock nr (0-7)
# lockintnowait lock nr (0-7)
# lockcont lock nr (0-7)
# unlock lock nr (0-7)
# lockbkl lock nr (0-7)
# unlockbkl lock nr (0-7)
# signal thread to signal (0-7)
# reset 0
# resetevent 0
#
# Tests / Wait
#
# opcode opcode argument
#
# prioeq priority
# priolt priority
# priogt priority
# nprioeq normal priority
# npriolt normal priority
# npriogt normal priority
# locked lock nr (0-7)
# blocked lock nr (0-7)
# blockedwake lock nr (0-7)
# unlocked lock nr (0-7)
# lockedbkl dont care
# blockedbkl dont care
# unlockedbkl dont care
# opcodeeq command opcode or number
# opcodelt number
# opcodegt number
# eventeq number
# eventgt number
# eventlt number
#
# 5 threads 4 lock PI - modify priority of blocked threads
#
C: resetevent: 0: 0
W: opcodeeq: 0: 0
# Set schedulers
C: schedother: 0: 0
C: schedfifo: 1: 81
C: schedfifo: 2: 82
C: schedfifo: 3: 83
C: schedfifo: 4: 84
# T0 lock L0
C: locknowait: 0: 0
W: locked: 0: 0
# T1 lock L1
C: locknowait: 1: 1
W: locked: 1: 1
# T1 lock L0
C: lockintnowait: 1: 0
W: blocked: 1: 0
T: prioeq: 0: 81
# T2 lock L2
C: locknowait: 2: 2
W: locked: 2: 2
# T2 lock L1
C: lockintnowait: 2: 1
W: blocked: 2: 1
T: prioeq: 0: 82
T: prioeq: 1: 82
# T3 lock L3
C: locknowait: 3: 3
W: locked: 3: 3
# T3 lock L2
C: lockintnowait: 3: 2
W: blocked: 3: 2
T: prioeq: 0: 83
T: prioeq: 1: 83
T: prioeq: 2: 83
# T4 lock L3
C: lockintnowait: 4: 3
W: blocked: 4: 3
T: prioeq: 0: 84
T: prioeq: 1: 84
T: prioeq: 2: 84
T: prioeq: 3: 84
# Reduce prio of T4
C: schedfifo: 4: 80
T: prioeq: 0: 83
T: prioeq: 1: 83
T: prioeq: 2: 83
T: prioeq: 3: 83
T: prioeq: 4: 80
# Increase prio of T4
C: schedfifo: 4: 84
T: prioeq: 0: 84
T: prioeq: 1: 84
T: prioeq: 2: 84
T: prioeq: 3: 84
T: prioeq: 4: 84
# Reduce prio of T3
C: schedfifo: 3: 80
T: prioeq: 0: 84
T: prioeq: 1: 84
T: prioeq: 2: 84
T: prioeq: 3: 84
T: prioeq: 4: 84
# Increase prio of T3
C: schedfifo: 3: 85
T: prioeq: 0: 85
T: prioeq: 1: 85
T: prioeq: 2: 85
T: prioeq: 3: 85
T: prioeq: 4: 84
# Reduce prio of T3
C: schedfifo: 3: 83
T: prioeq: 0: 84
T: prioeq: 1: 84
T: prioeq: 2: 84
T: prioeq: 3: 84
T: prioeq: 4: 84
# Signal T4
C: signal: 4: 0
W: unlocked: 4: 3
T: prioeq: 0: 83
T: prioeq: 1: 83
T: prioeq: 2: 83
T: prioeq: 3: 83
# Signal T3
C: signal: 3: 0
W: unlocked: 3: 2
T: prioeq: 0: 82
T: prioeq: 1: 82
T: prioeq: 2: 82
# Signal T2
C: signal: 2: 0
W: unlocked: 2: 1
T: prioeq: 0: 81
T: prioeq: 1: 81
# Signal T1
C: signal: 1: 0
W: unlocked: 1: 0
T: priolt: 0: 1
# Unlock and exit
C: unlock: 3: 3
C: unlock: 2: 2
C: unlock: 1: 1
C: unlock: 0: 0
W: unlocked: 3: 3
W: unlocked: 2: 2
W: unlocked: 1: 1
W: unlocked: 0: 0
|