Home Home > GIT Browse
summaryrefslogtreecommitdiff
blob: 04f4034ff895a11b3c544bcca4553fe792e708f7 (plain)
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
#
# 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)
# 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)
# 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