Thomas Gleixner | 61a8712 | 2006-06-27 02:54:56 -0700 | [diff] [blame] | 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 | # Reset event counter |
| 53 | C: resetevent: 0: 0 |
| 54 | W: opcodeeq: 0: 0 |
| 55 | |
| 56 | # Set priorities |
| 57 | C: schedother: 0: 0 |
Thomas Gleixner | 61a8712 | 2006-06-27 02:54:56 -0700 | [diff] [blame] | 58 | C: schedfifo: 1: 80 |
Thomas Gleixner | 61a8712 | 2006-06-27 02:54:56 -0700 | [diff] [blame] | 59 | C: schedfifo: 2: 81 |
Thomas Gleixner | 61a8712 | 2006-06-27 02:54:56 -0700 | [diff] [blame] | 60 | |
| 61 | # T0 lock L0 |
| 62 | C: lock: 0: 0 |
| 63 | W: locked: 0: 0 |
| 64 | |
| 65 | # T1 lock L0, no wait in the wakeup path |
| 66 | C: locknowait: 1: 0 |
| 67 | W: blocked: 1: 0 |
| 68 | T: prioeq: 0: 80 |
| 69 | T: prioeq: 1: 80 |
| 70 | |
| 71 | # T2 lock L0 interruptible, no wait in the wakeup path |
| 72 | C: lockintnowait: 2: 0 |
| 73 | W: blocked: 2: 0 |
| 74 | T: prioeq: 0: 81 |
| 75 | T: prioeq: 1: 80 |
| 76 | |
| 77 | # Interrupt T2 |
| 78 | C: signal: 2: 2 |
| 79 | W: unlocked: 2: 0 |
| 80 | T: prioeq: 1: 80 |
| 81 | T: prioeq: 0: 80 |
| 82 | |
| 83 | T: locked: 0: 0 |
| 84 | T: blocked: 1: 0 |
| 85 | |
| 86 | # T0 unlock L0 |
| 87 | C: unlock: 0: 0 |
| 88 | |
| 89 | # Wait until T1 has locked L0 and exit |
| 90 | W: locked: 1: 0 |
| 91 | W: unlocked: 0: 0 |
| 92 | T: priolt: 0: 1 |
| 93 | |
| 94 | C: unlock: 1: 0 |
| 95 | W: unlocked: 1: 0 |
| 96 | |
| 97 | |
| 98 | |