blob: 3e427daa33ffc00c92c2192ed61447e7750bde2f [file] [log] [blame]
Thomas Gleixner61a87122006-06-27 02:54:56 -07001#
2# rt-mutex test
3#
4# Op: C(ommand)/T(est)/W(ait)
5# | opcode
6# | | threadid: 0-7
7# | | | opcode argument
8# | | | |
9# C: lock: 0: 0
10#
11# Commands
12#
13# opcode opcode argument
14# schedother nice value
15# schedfifo priority
16# lock lock nr (0-7)
17# locknowait lock nr (0-7)
18# lockint lock nr (0-7)
19# lockintnowait lock nr (0-7)
20# lockcont lock nr (0-7)
21# unlock lock nr (0-7)
22# lockbkl lock nr (0-7)
23# unlockbkl lock nr (0-7)
24# signal thread to signal (0-7)
25# reset 0
26# resetevent 0
27#
28# Tests / Wait
29#
30# opcode opcode argument
31#
32# prioeq priority
33# priolt priority
34# priogt priority
35# nprioeq normal priority
36# npriolt normal priority
37# npriogt normal priority
38# locked lock nr (0-7)
39# blocked lock nr (0-7)
40# blockedwake lock nr (0-7)
41# unlocked lock nr (0-7)
42# lockedbkl dont care
43# blockedbkl dont care
44# unlockedbkl dont care
45# opcodeeq command opcode or number
46# opcodelt number
47# opcodegt number
48# eventeq number
49# eventgt number
50# eventlt number
51
52# Reset event counter
53C: resetevent: 0: 0
54W: opcodeeq: 0: 0
55
56# Set priorities
57C: schedother: 0: 0
58W: opcodeeq: 0: 0
59C: schedfifo: 1: 80
60W: opcodeeq: 1: 0
61C: schedfifo: 2: 81
62W: opcodeeq: 2: 0
63
64# T0 lock L0
65C: lock: 0: 0
66W: locked: 0: 0
67
68# T1 lock L0, no wait in the wakeup path
69C: locknowait: 1: 0
70W: blocked: 1: 0
71T: prioeq: 0: 80
72T: prioeq: 1: 80
73
74# T2 lock L0 interruptible, no wait in the wakeup path
75C: lockintnowait: 2: 0
76W: blocked: 2: 0
77T: prioeq: 0: 81
78T: prioeq: 1: 80
79
80# Interrupt T2
81C: signal: 2: 2
82W: unlocked: 2: 0
83T: prioeq: 1: 80
84T: prioeq: 0: 80
85
86T: locked: 0: 0
87T: blocked: 1: 0
88
89# T0 unlock L0
90C: unlock: 0: 0
91
92# Wait until T1 has locked L0 and exit
93W: locked: 1: 0
94W: unlocked: 0: 0
95T: priolt: 0: 1
96
97C: unlock: 1: 0
98W: unlocked: 1: 0
99
100
101