linux/scripts/rt-tester/t4-l2-pi-deboost.tst
<<
>>
Prefs
   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# 4 threads 2 lock PI
  49#
  50C: resetevent:          0:      0
  51W: opcodeeq:            0:      0
  52
  53# Set schedulers
  54C: schedother:          0:      0
  55C: schedother:          1:      0
  56C: schedfifo:           2:      82
  57C: schedfifo:           3:      83
  58
  59# T0 lock L0
  60C: locknowait:          0:      0
  61W: locked:              0:      0
  62
  63# T1 lock L1
  64C: locknowait:          1:      1
  65W: locked:              1:      1
  66
  67# T3 lock L0
  68C: lockintnowait:       3:      0
  69W: blocked:             3:      0
  70T: prioeq:              0:      83
  71
  72# T0 lock L1
  73C: lock:                0:      1
  74W: blocked:             0:      1
  75T: prioeq:              1:      83
  76
  77# T1 unlock L1
  78C: unlock:              1:      1
  79
  80# Wait until T0 is in the wakeup code
  81W: blockedwake:         0:      1
  82
  83# Verify that T1 is unboosted
  84W: unlocked:            1:      1
  85T: priolt:              1:      1
  86
  87# T2 lock L1 (T0 is boosted and pending owner !)
  88C: locknowait:          2:      1
  89W: blocked:             2:      1
  90T: prioeq:              0:      83
  91
  92# Interrupt T3 and wait until T3 returned
  93C: signal:              3:      0
  94W: unlocked:            3:      0
  95
  96# Verify prio of T0 (still pending owner,
  97# but T2 is enqueued due to the previous boost by T3
  98T: prioeq:              0:      82
  99
 100# Let T0 continue
 101C: lockcont:            0:      1
 102W: locked:              0:      1
 103
 104# Unlock L1 and let T2 get L1
 105C: unlock:              0:      1
 106W: locked:              2:      1
 107
 108# Verify that T0 is unboosted
 109W: unlocked:            0:      1
 110T: priolt:              0:      1
 111
 112# Unlock everything and exit
 113C: unlock:              2:      1
 114W: unlocked:            2:      1
 115
 116C: unlock:              0:      0
 117W: unlocked:            0:      0
 118
 119
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.