]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - scripts/rt-tester/t3-l1-pi-steal.tst
Merge branch 'pm-tools'
[mirror_ubuntu-bionic-kernel.git] / scripts / rt-tester / t3-l1-pi-steal.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 # 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)
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 #
50 C: resetevent: 0: 0
51 W: opcodeeq: 0: 0
52
53 # Set schedulers
54 C: schedother: 0: 0
55 C: schedfifo: 1: 80
56 C: schedfifo: 2: 81
57
58 # T0 lock L0
59 C: lock: 0: 0
60 W: locked: 0: 0
61
62 # T1 lock L0
63 C: lock: 1: 0
64 W: blocked: 1: 0
65 T: prioeq: 0: 80
66
67 # T0 unlock L0
68 C: unlock: 0: 0
69
70 # Wait until T1 is in the wakeup loop
71 W: blockedwake: 1: 0
72 T: priolt: 0: 1
73
74 # T2 lock L0
75 C: lock: 2: 0
76 # T1 leave wakeup loop
77 C: lockcont: 1: 0
78
79 # T2 must have the lock and T1 must be blocked
80 W: locked: 2: 0
81 W: blocked: 1: 0
82
83 # T2 unlock L0
84 C: unlock: 2: 0
85
86 # Wait until T1 is in the wakeup loop and let it run
87 W: blockedwake: 1: 0
88 C: lockcont: 1: 0
89 W: locked: 1: 0
90 C: unlock: 1: 0
91 W: unlocked: 1: 0