diff options
Diffstat (limited to 'scripts/rt-tester/t4-l2-pi-deboost.tst')
-rw-r--r-- | scripts/rt-tester/t4-l2-pi-deboost.tst | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/scripts/rt-tester/t4-l2-pi-deboost.tst b/scripts/rt-tester/t4-l2-pi-deboost.tst new file mode 100644 index 000000000000..baa14137f473 --- /dev/null +++ b/scripts/rt-tester/t4-l2-pi-deboost.tst | |||
@@ -0,0 +1,123 @@ | |||
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 | |||