t3-l1-pi-steal.tst 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. # 3 threads 1 lock PI steal pending ownership
  53. #
  54. C: resetevent: 0: 0
  55. W: opcodeeq: 0: 0
  56. # Set schedulers
  57. C: schedother: 0: 0
  58. C: schedfifo: 1: 80
  59. C: schedfifo: 2: 81
  60. # T0 lock L0
  61. C: lock: 0: 0
  62. W: locked: 0: 0
  63. # T1 lock L0
  64. C: lock: 1: 0
  65. W: blocked: 1: 0
  66. T: prioeq: 0: 80
  67. # T0 unlock L0
  68. C: unlock: 0: 0
  69. # Wait until T1 is in the wakeup loop
  70. W: blockedwake: 1: 0
  71. T: priolt: 0: 1
  72. # T2 lock L0
  73. C: lock: 2: 0
  74. # T1 leave wakeup loop
  75. C: lockcont: 1: 0
  76. # T2 must have the lock and T1 must be blocked
  77. W: locked: 2: 0
  78. W: blocked: 1: 0
  79. # T2 unlock L0
  80. C: unlock: 2: 0
  81. # Wait until T1 is in the wakeup loop and let it run
  82. W: blockedwake: 1: 0
  83. C: lockcont: 1: 0
  84. W: locked: 1: 0
  85. C: unlock: 1: 0
  86. W: unlocked: 1: 0