]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - scripts/rt-tester/t4-l2-pi-deboost.tst
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[mirror_ubuntu-bionic-kernel.git] / scripts / rt-tester / t4-l2-pi-deboost.tst
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)
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 #
53 # 4 threads 2 lock PI
54 #
55 C: resetevent: 0: 0
56 W: opcodeeq: 0: 0
57
58 # Set schedulers
59 C: schedother: 0: 0
60 C: schedother: 1: 0
61 C: schedfifo: 2: 82
62 C: schedfifo: 3: 83
63
64 # T0 lock L0
65 C: locknowait: 0: 0
66 W: locked: 0: 0
67
68 # T1 lock L1
69 C: locknowait: 1: 1
70 W: locked: 1: 1
71
72 # T3 lock L0
73 C: lockintnowait: 3: 0
74 W: blocked: 3: 0
75 T: prioeq: 0: 83
76
77 # T0 lock L1
78 C: lock: 0: 1
79 W: blocked: 0: 1
80 T: prioeq: 1: 83
81
82 # T1 unlock L1
83 C: unlock: 1: 1
84
85 # Wait until T0 is in the wakeup code
86 W: blockedwake: 0: 1
87
88 # Verify that T1 is unboosted
89 W: unlocked: 1: 1
90 T: priolt: 1: 1
91
92 # T2 lock L1 (T0 is boosted and pending owner !)
93 C: locknowait: 2: 1
94 W: blocked: 2: 1
95 T: prioeq: 0: 83
96
97 # Interrupt T3 and wait until T3 returned
98 C: signal: 3: 0
99 W: unlocked: 3: 0
100
101 # Verify prio of T0 (still pending owner,
102 # but T2 is enqueued due to the previous boost by T3
103 T: prioeq: 0: 82
104
105 # Let T0 continue
106 C: lockcont: 0: 1
107 W: locked: 0: 1
108
109 # Unlock L1 and let T2 get L1
110 C: unlock: 0: 1
111 W: locked: 2: 1
112
113 # Verify that T0 is unboosted
114 W: unlocked: 0: 1
115 T: priolt: 0: 1
116
117 # Unlock everything and exit
118 C: unlock: 2: 1
119 W: unlocked: 2: 1
120
121 C: unlock: 0: 0
122 W: unlocked: 0: 0
123