Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux...
[linux-2.6-block.git] / scripts / rt-tester / t3-l1-pi-steal.tst
CommitLineData
61a87122
TG
1#
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)
61a87122
TG
22# signal thread to signal (0-7)
23# reset 0
24# resetevent 0
25#
26# Tests / Wait
27#
28# opcode opcode argument
29#
30# prioeq priority
31# priolt priority
32# priogt priority
33# nprioeq normal priority
34# npriolt normal priority
35# npriogt normal priority
36# locked lock nr (0-7)
37# blocked lock nr (0-7)
38# blockedwake lock nr (0-7)
39# unlocked lock nr (0-7)
61a87122
TG
40# opcodeeq command opcode or number
41# opcodelt number
42# opcodegt number
43# eventeq number
44# eventgt number
45# eventlt number
46
47#
48# 3 threads 1 lock PI steal pending ownership
49#
50C: resetevent: 0: 0
51W: opcodeeq: 0: 0
52
53# Set schedulers
54C: schedother: 0: 0
61a87122 55C: schedfifo: 1: 80
61a87122 56C: schedfifo: 2: 81
61a87122
TG
57
58# T0 lock L0
59C: lock: 0: 0
60W: locked: 0: 0
61
62# T1 lock L0
63C: lock: 1: 0
64W: blocked: 1: 0
65T: prioeq: 0: 80
66
67# T0 unlock L0
68C: unlock: 0: 0
69
70# Wait until T1 is in the wakeup loop
71W: blockedwake: 1: 0
72T: priolt: 0: 1
73
74# T2 lock L0
75C: lock: 2: 0
76# T1 leave wakeup loop
77C: lockcont: 1: 0
78
79# T2 must have the lock and T1 must be blocked
80W: locked: 2: 0
81W: blocked: 1: 0
82
83# T2 unlock L0
84C: unlock: 2: 0
85
86# Wait until T1 is in the wakeup loop and let it run
87W: blockedwake: 1: 0
88C: lockcont: 1: 0
89W: locked: 1: 0
90C: unlock: 1: 0
91W: unlocked: 1: 0