forked from Imagelibrary/rtems
The previous timeout handling was flawed. In case a waiting thread helped out the owner could use the scheduler node indefinitely long. Update the resource tree in _MRSP_Timeout() to avoid this issue. Bug reported by Luca Bonato.
371 lines
7.5 KiB
Plaintext
371 lines
7.5 KiB
Plaintext
*** BEGIN OF TEST SMPMRSP 1 ***
|
|
test MrsP flush error
|
|
test MrsP initially locked error
|
|
test MrsP nested obtain error
|
|
test MrsP unlock order error
|
|
test MrsP deadlock error
|
|
test MrsP multiple obtain
|
|
test MrsP various block and unblock
|
|
[1] IDLE -> WORK (prio 4, node WORK)
|
|
[0] MAIN -> IDLE (prio 3, node MAIN)
|
|
[0] IDLE -> MAIN (prio 3, node MAIN)
|
|
[1] WORK -> IDLE (prio 3, node WORK)
|
|
[1] IDLE -> HIG1 (prio 2, node HIG1)
|
|
[1] HIG1 -> IDLE (prio 3, node WORK)
|
|
[1] IDLE -> HIG1 (prio 2, node HIG1)
|
|
[1] HIG1 -> WORK (prio 3, node WORK)
|
|
[1] WORK -> MAIN (prio 3, node WORK)
|
|
[0] MAIN -> HIG0 (prio 2, node HIG0)
|
|
[1] MAIN -> HIG1 (prio 2, node HIG1)
|
|
[1] HIG1 -> WORK (prio 3, node WORK)
|
|
[0] HIG0 -> MAIN (prio 3, node MAIN)
|
|
[1] WORK -> MAIN (prio 3, node WORK)
|
|
[0] MAIN -> HIG0 (prio 2, node HIG0)
|
|
[1] MAIN -> HIG1 (prio 2, node HIG1)
|
|
[1] HIG1 -> MAIN (prio 3, node WORK)
|
|
[0] HIG0 -> IDLE (prio 4, node MAIN)
|
|
[1] MAIN -> WORK (prio 3, node WORK)
|
|
[0] IDLE -> MAIN (prio 4, node MAIN)
|
|
test MrsP obtain and sleep and release
|
|
[0] MAIN -> RUN (prio 2, node RUN)
|
|
[0] RUN -> MAIN (prio 1, node MAIN)
|
|
[0] MAIN -> IDLE (prio 1, node MAIN)
|
|
[0] IDLE -> MAIN (prio 1, node MAIN)
|
|
test MrsP obtain and release with help
|
|
[1] IDLE -> HELP (prio 3, node HELP)
|
|
[0] MAIN -> IDLE (prio 2, node MAIN)
|
|
[0] IDLE -> MAIN (prio 2, node MAIN)
|
|
[1] HELP -> MAIN (prio 2, node HELP)
|
|
[0] MAIN -> RUN (prio 1, node RUN)
|
|
[1] MAIN -> HELP (prio 2, node HELP)
|
|
[1] HELP -> MAIN (prio 2, node HELP)
|
|
[0] RUN -> IDLE (prio 2, node MAIN)
|
|
[1] MAIN -> HELP (prio 2, node HELP)
|
|
[1] HELP -> MAIN (prio 2, node HELP)
|
|
[0] IDLE -> MAIN (prio 3, node MAIN)
|
|
[1] MAIN -> HELP (prio 2, node HELP)
|
|
test MrsP obtain and release
|
|
[1] IDLE -> WORK (prio 4, node WORK)
|
|
[1] WORK -> MAIN (prio 3, node WORK)
|
|
[0] MAIN -> HIG0 (prio 1, node HIG0)
|
|
[1] MAIN -> WORK (prio 4, node WORK)
|
|
[0] HIG0 -> MAIN (prio 2, node MAIN)
|
|
test MrsP load
|
|
worker[0]
|
|
sleep = 53
|
|
timeout = 3445
|
|
obtain[0] = 7240
|
|
obtain[1] = 5484
|
|
obtain[2] = 12983
|
|
obtain[3] = 9453
|
|
obtain[4] = 16142
|
|
obtain[5] = 12509
|
|
obtain[6] = 16471
|
|
obtain[7] = 14380
|
|
obtain[8] = 16566
|
|
obtain[9] = 16192
|
|
obtain[10] = 14868
|
|
obtain[11] = 18208
|
|
obtain[12] = 12505
|
|
obtain[13] = 19995
|
|
obtain[14] = 11155
|
|
obtain[15] = 20684
|
|
obtain[16] = 7288
|
|
obtain[17] = 22252
|
|
obtain[18] = 6476
|
|
obtain[19] = 18299
|
|
obtain[20] = 5711
|
|
obtain[21] = 17063
|
|
obtain[22] = 4791
|
|
obtain[23] = 14655
|
|
obtain[24] = 3452
|
|
obtain[25] = 10565
|
|
obtain[26] = 2912
|
|
obtain[27] = 8142
|
|
obtain[28] = 2090
|
|
obtain[29] = 5086
|
|
obtain[30] = 1145
|
|
obtain[31] = 1946
|
|
cpu[0] = 378475
|
|
cpu[1] = 64814
|
|
cpu[2] = 132133
|
|
cpu[3] = 138047
|
|
worker[1]
|
|
sleep = 1
|
|
timeout = 6
|
|
obtain[0] = 19
|
|
obtain[1] = 8
|
|
obtain[2] = 15
|
|
obtain[3] = 24
|
|
obtain[4] = 20
|
|
obtain[5] = 19
|
|
obtain[6] = 14
|
|
obtain[7] = 40
|
|
obtain[8] = 45
|
|
obtain[9] = 20
|
|
obtain[10] = 0
|
|
obtain[11] = 48
|
|
obtain[12] = 13
|
|
obtain[13] = 57
|
|
obtain[14] = 30
|
|
obtain[15] = 48
|
|
obtain[16] = 36
|
|
obtain[17] = 36
|
|
obtain[18] = 19
|
|
obtain[19] = 20
|
|
obtain[20] = 42
|
|
obtain[21] = 44
|
|
obtain[22] = 23
|
|
obtain[23] = 0
|
|
obtain[24] = 0
|
|
obtain[25] = 26
|
|
obtain[26] = 0
|
|
obtain[27] = 0
|
|
obtain[28] = 0
|
|
obtain[29] = 0
|
|
obtain[30] = 0
|
|
obtain[31] = 0
|
|
cpu[0] = 650
|
|
cpu[1] = 92
|
|
cpu[2] = 379
|
|
cpu[3] = 212
|
|
worker[2]
|
|
sleep = 51
|
|
timeout = 3731
|
|
obtain[0] = 7182
|
|
obtain[1] = 5663
|
|
obtain[2] = 12945
|
|
obtain[3] = 9229
|
|
obtain[4] = 15592
|
|
obtain[5] = 12125
|
|
obtain[6] = 16767
|
|
obtain[7] = 14480
|
|
obtain[8] = 16620
|
|
obtain[9] = 16098
|
|
obtain[10] = 16409
|
|
obtain[11] = 18109
|
|
obtain[12] = 12995
|
|
obtain[13] = 19452
|
|
obtain[14] = 10719
|
|
obtain[15] = 20024
|
|
obtain[16] = 7769
|
|
obtain[17] = 21913
|
|
obtain[18] = 6636
|
|
obtain[19] = 18524
|
|
obtain[20] = 5952
|
|
obtain[21] = 16411
|
|
obtain[22] = 5228
|
|
obtain[23] = 14456
|
|
obtain[24] = 4292
|
|
obtain[25] = 11143
|
|
obtain[26] = 3019
|
|
obtain[27] = 8023
|
|
obtain[28] = 2006
|
|
obtain[29] = 4664
|
|
obtain[30] = 1109
|
|
obtain[31] = 1976
|
|
cpu[0] = 65356
|
|
cpu[1] = 381723
|
|
cpu[2] = 133444
|
|
cpu[3] = 134588
|
|
worker[3]
|
|
sleep = 1
|
|
timeout = 11
|
|
obtain[0] = 11
|
|
obtain[1] = 6
|
|
obtain[2] = 33
|
|
obtain[3] = 20
|
|
obtain[4] = 10
|
|
obtain[5] = 10
|
|
obtain[6] = 28
|
|
obtain[7] = 18
|
|
obtain[8] = 27
|
|
obtain[9] = 40
|
|
obtain[10] = 33
|
|
obtain[11] = 36
|
|
obtain[12] = 26
|
|
obtain[13] = 0
|
|
obtain[14] = 15
|
|
obtain[15] = 16
|
|
obtain[16] = 0
|
|
obtain[17] = 18
|
|
obtain[18] = 0
|
|
obtain[19] = 42
|
|
obtain[20] = 0
|
|
obtain[21] = 88
|
|
obtain[22] = 0
|
|
obtain[23] = 24
|
|
obtain[24] = 0
|
|
obtain[25] = 0
|
|
obtain[26] = 0
|
|
obtain[27] = 28
|
|
obtain[28] = 0
|
|
obtain[29] = 0
|
|
obtain[30] = 31
|
|
obtain[31] = 0
|
|
cpu[0] = 136
|
|
cpu[1] = 573
|
|
cpu[2] = 291
|
|
cpu[3] = 121
|
|
worker[4]
|
|
sleep = 47
|
|
timeout = 3278
|
|
obtain[0] = 7397
|
|
obtain[1] = 5723
|
|
obtain[2] = 13399
|
|
obtain[3] = 9018
|
|
obtain[4] = 16575
|
|
obtain[5] = 12731
|
|
obtain[6] = 16571
|
|
obtain[7] = 14376
|
|
obtain[8] = 16786
|
|
obtain[9] = 17022
|
|
obtain[10] = 15889
|
|
obtain[11] = 19338
|
|
obtain[12] = 13240
|
|
obtain[13] = 19055
|
|
obtain[14] = 11533
|
|
obtain[15] = 22667
|
|
obtain[16] = 7521
|
|
obtain[17] = 21826
|
|
obtain[18] = 6320
|
|
obtain[19] = 18522
|
|
obtain[20] = 6874
|
|
obtain[21] = 16498
|
|
obtain[22] = 4983
|
|
obtain[23] = 14210
|
|
obtain[24] = 4019
|
|
obtain[25] = 11510
|
|
obtain[26] = 3425
|
|
obtain[27] = 8809
|
|
obtain[28] = 2002
|
|
obtain[29] = 5197
|
|
obtain[30] = 996
|
|
obtain[31] = 2276
|
|
cpu[0] = 20729
|
|
cpu[1] = 19760
|
|
cpu[2] = 343613
|
|
cpu[3] = 348561
|
|
worker[5]
|
|
sleep = 61
|
|
timeout = 3183
|
|
obtain[0] = 7291
|
|
obtain[1] = 5782
|
|
obtain[2] = 13633
|
|
obtain[3] = 9864
|
|
obtain[4] = 16465
|
|
obtain[5] = 12581
|
|
obtain[6] = 17135
|
|
obtain[7] = 14616
|
|
obtain[8] = 16524
|
|
obtain[9] = 16472
|
|
obtain[10] = 15194
|
|
obtain[11] = 18038
|
|
obtain[12] = 13801
|
|
obtain[13] = 19959
|
|
obtain[14] = 11693
|
|
obtain[15] = 20770
|
|
obtain[16] = 7328
|
|
obtain[17] = 23222
|
|
obtain[18] = 7186
|
|
obtain[19] = 19739
|
|
obtain[20] = 6584
|
|
obtain[21] = 17450
|
|
obtain[22] = 5241
|
|
obtain[23] = 14808
|
|
obtain[24] = 4287
|
|
obtain[25] = 11387
|
|
obtain[26] = 3367
|
|
obtain[27] = 8149
|
|
obtain[28] = 1887
|
|
obtain[29] = 4969
|
|
obtain[30] = 1123
|
|
obtain[31] = 1695
|
|
cpu[0] = 19504
|
|
cpu[1] = 20069
|
|
cpu[2] = 346015
|
|
cpu[3] = 350953
|
|
worker[6]
|
|
sleep = 1
|
|
timeout = 15
|
|
obtain[0] = 26
|
|
obtain[1] = 22
|
|
obtain[2] = 45
|
|
obtain[3] = 32
|
|
obtain[4] = 45
|
|
obtain[5] = 76
|
|
obtain[6] = 49
|
|
obtain[7] = 64
|
|
obtain[8] = 99
|
|
obtain[9] = 70
|
|
obtain[10] = 55
|
|
obtain[11] = 48
|
|
obtain[12] = 39
|
|
obtain[13] = 28
|
|
obtain[14] = 60
|
|
obtain[15] = 48
|
|
obtain[16] = 17
|
|
obtain[17] = 74
|
|
obtain[18] = 38
|
|
obtain[19] = 60
|
|
obtain[20] = 63
|
|
obtain[21] = 66
|
|
obtain[22] = 23
|
|
obtain[23] = 48
|
|
obtain[24] = 0
|
|
obtain[25] = 78
|
|
obtain[26] = 0
|
|
obtain[27] = 43
|
|
obtain[28] = 0
|
|
obtain[29] = 0
|
|
obtain[30] = 0
|
|
obtain[31] = 32
|
|
cpu[0] = 71
|
|
cpu[1] = 39
|
|
cpu[2] = 1333
|
|
cpu[3] = 1254
|
|
worker[7]
|
|
sleep = 1
|
|
timeout = 0
|
|
obtain[0] = 0
|
|
obtain[1] = 0
|
|
obtain[2] = 0
|
|
obtain[3] = 0
|
|
obtain[4] = 0
|
|
obtain[5] = 0
|
|
obtain[6] = 0
|
|
obtain[7] = 0
|
|
obtain[8] = 0
|
|
obtain[9] = 0
|
|
obtain[10] = 0
|
|
obtain[11] = 0
|
|
obtain[12] = 0
|
|
obtain[13] = 0
|
|
obtain[14] = 0
|
|
obtain[15] = 0
|
|
obtain[16] = 0
|
|
obtain[17] = 0
|
|
obtain[18] = 0
|
|
obtain[19] = 0
|
|
obtain[20] = 0
|
|
obtain[21] = 0
|
|
obtain[22] = 0
|
|
obtain[23] = 0
|
|
obtain[24] = 0
|
|
obtain[25] = 0
|
|
obtain[26] = 0
|
|
obtain[27] = 0
|
|
obtain[28] = 0
|
|
obtain[29] = 0
|
|
obtain[30] = 0
|
|
obtain[31] = 0
|
|
cpu[0] = 0
|
|
cpu[1] = 0
|
|
cpu[2] = 1
|
|
cpu[3] = 0
|
|
migrations[0] = 437361
|
|
migrations[1] = 437363
|
|
migrations[2] = 441234
|
|
migrations[3] = 433487
|
|
*** END OF TEST SMPMRSP 1 ***
|