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# 5 threads 4 lock PI - modify priority of blocked threads 54# 55C: resetevent: 0: 0 56W: opcodeeq: 0: 0 57 58# Set schedulers 59C: schedother: 0: 0 60C: schedfifo: 1: 81 61C: schedfifo: 2: 82 62C: schedfifo: 3: 83 63C: schedfifo: 4: 84 64 65# T0 lock L0 66C: locknowait: 0: 0 67W: locked: 0: 0 68 69# T1 lock L1 70C: locknowait: 1: 1 71W: locked: 1: 1 72 73# T1 lock L0 74C: lockintnowait: 1: 0 75W: blocked: 1: 0 76T: prioeq: 0: 81 77 78# T2 lock L2 79C: locknowait: 2: 2 80W: locked: 2: 2 81 82# T2 lock L1 83C: lockintnowait: 2: 1 84W: blocked: 2: 1 85T: prioeq: 0: 82 86T: prioeq: 1: 82 87 88# T3 lock L3 89C: locknowait: 3: 3 90W: locked: 3: 3 91 92# T3 lock L2 93C: lockintnowait: 3: 2 94W: blocked: 3: 2 95T: prioeq: 0: 83 96T: prioeq: 1: 83 97T: prioeq: 2: 83 98 99# T4 lock L3 100C: lockintnowait: 4: 3 101W: blocked: 4: 3 102T: prioeq: 0: 84 103T: prioeq: 1: 84 104T: prioeq: 2: 84 105T: prioeq: 3: 84 106 107# Reduce prio of T4 108C: schedfifo: 4: 80 109T: prioeq: 0: 83 110T: prioeq: 1: 83 111T: prioeq: 2: 83 112T: prioeq: 3: 83 113T: prioeq: 4: 80 114 115# Increase prio of T4 116C: schedfifo: 4: 84 117T: prioeq: 0: 84 118T: prioeq: 1: 84 119T: prioeq: 2: 84 120T: prioeq: 3: 84 121T: prioeq: 4: 84 122 123# Reduce prio of T3 124C: schedfifo: 3: 80 125T: prioeq: 0: 84 126T: prioeq: 1: 84 127T: prioeq: 2: 84 128T: prioeq: 3: 84 129T: prioeq: 4: 84 130 131# Increase prio of T3 132C: schedfifo: 3: 85 133T: prioeq: 0: 85 134T: prioeq: 1: 85 135T: prioeq: 2: 85 136T: prioeq: 3: 85 137T: prioeq: 4: 84 138 139# Reduce prio of T3 140C: schedfifo: 3: 83 141T: prioeq: 0: 84 142T: prioeq: 1: 84 143T: prioeq: 2: 84 144T: prioeq: 3: 84 145T: prioeq: 4: 84 146 147# Signal T4 148C: signal: 4: 0 149W: unlocked: 4: 3 150T: prioeq: 0: 83 151T: prioeq: 1: 83 152T: prioeq: 2: 83 153T: prioeq: 3: 83 154 155# Signal T3 156C: signal: 3: 0 157W: unlocked: 3: 2 158T: prioeq: 0: 82 159T: prioeq: 1: 82 160T: prioeq: 2: 82 161 162# Signal T2 163C: signal: 2: 0 164W: unlocked: 2: 1 165T: prioeq: 0: 81 166T: prioeq: 1: 81 167 168# Signal T1 169C: signal: 1: 0 170W: unlocked: 1: 0 171T: priolt: 0: 1 172 173# Unlock and exit 174C: unlock: 3: 3 175C: unlock: 2: 2 176C: unlock: 1: 1 177C: unlock: 0: 0 178 179W: unlocked: 3: 3 180W: unlocked: 2: 2 181W: unlocked: 1: 1 182W: unlocked: 0: 0 183 184