diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2006-06-27 05:54:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-27 20:32:47 -0400 |
commit | 61a87122869b6340a63b6f9f84097d3688604b90 (patch) | |
tree | 11d60d29763a42abd66453a920cc06bebc852427 /scripts/rt-tester/t4-l2-pi-deboost.tst | |
parent | e7eebaf6a81b956c989f184ee4b27277c88f8afe (diff) |
[PATCH] pi-futex: rt mutex tester
RT-mutex tester: scriptable tester for rt mutexes, which allows userspace
scripting of mutex unit-tests (and dynamic tests as well), using the actual
rt-mutex implementation of the kernel.
[akpm@osdl.org: fixlet]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/rt-tester/t4-l2-pi-deboost.tst')
-rw-r--r-- | scripts/rt-tester/t4-l2-pi-deboost.tst | 127 |
1 files changed, 127 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..01f1a80fa02a --- /dev/null +++ b/scripts/rt-tester/t4-l2-pi-deboost.tst | |||
@@ -0,0 +1,127 @@ | |||
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 | W: opcodeeq: 0: 0 | ||
61 | C: schedother: 1: 0 | ||
62 | W: opcodeeq: 1: 0 | ||
63 | C: schedfifo: 2: 82 | ||
64 | W: opcodeeq: 2: 0 | ||
65 | C: schedfifo: 3: 83 | ||
66 | W: opcodeeq: 3: 0 | ||
67 | |||
68 | # T0 lock L0 | ||
69 | C: locknowait: 0: 0 | ||
70 | W: locked: 0: 0 | ||
71 | |||
72 | # T1 lock L1 | ||
73 | C: locknowait: 1: 1 | ||
74 | W: locked: 1: 1 | ||
75 | |||
76 | # T3 lock L0 | ||
77 | C: lockintnowait: 3: 0 | ||
78 | W: blocked: 3: 0 | ||
79 | T: prioeq: 0: 83 | ||
80 | |||
81 | # T0 lock L1 | ||
82 | C: lock: 0: 1 | ||
83 | W: blocked: 0: 1 | ||
84 | T: prioeq: 1: 83 | ||
85 | |||
86 | # T1 unlock L1 | ||
87 | C: unlock: 1: 1 | ||
88 | |||
89 | # Wait until T0 is in the wakeup code | ||
90 | W: blockedwake: 0: 1 | ||
91 | |||
92 | # Verify that T1 is unboosted | ||
93 | W: unlocked: 1: 1 | ||
94 | T: priolt: 1: 1 | ||
95 | |||
96 | # T2 lock L1 (T0 is boosted and pending owner !) | ||
97 | C: locknowait: 2: 1 | ||
98 | W: blocked: 2: 1 | ||
99 | T: prioeq: 0: 83 | ||
100 | |||
101 | # Interrupt T3 and wait until T3 returned | ||
102 | C: signal: 3: 0 | ||
103 | W: unlocked: 3: 0 | ||
104 | |||
105 | # Verify prio of T0 (still pending owner, | ||
106 | # but T2 is enqueued due to the previous boost by T3 | ||
107 | T: prioeq: 0: 82 | ||
108 | |||
109 | # Let T0 continue | ||
110 | C: lockcont: 0: 1 | ||
111 | W: locked: 0: 1 | ||
112 | |||
113 | # Unlock L1 and let T2 get L1 | ||
114 | C: unlock: 0: 1 | ||
115 | W: locked: 2: 1 | ||
116 | |||
117 | # Verify that T0 is unboosted | ||
118 | W: unlocked: 0: 1 | ||
119 | T: priolt: 0: 1 | ||
120 | |||
121 | # Unlock everything and exit | ||
122 | C: unlock: 2: 1 | ||
123 | W: unlocked: 2: 1 | ||
124 | |||
125 | C: unlock: 0: 0 | ||
126 | W: unlocked: 0: 0 | ||
127 | |||