Script File : scenarios/cpus4_pick_older.scen verbose : 1 ==> 1: # ==> 2: # Verify we select the oldest task at a priority ==> 3: # ==> 4: rtems_init 4 Thread Heir: 0x09010001 priority=255 Thread Executing: 0x09010001 priority=255 ==> 5: task_create smp1 3 Creating task with: Preemption: yes Timeslicing: no Task (smp1) created: id=0x0a010001, priority=3 Task (smp1) starting: id=0x0a010001, priority=3 Thread Heir: 0x0a010001 priority=3 Thread Executing: 0x0a010001 priority=3 ==> 6: task_create smp2 6 Creating task with: Preemption: yes Timeslicing: no Task (smp2) created: id=0x0a010002, priority=6 Task (smp2) starting: id=0x0a010002, priority=6 ==> 7: task_create smp3 7 Creating task with: Preemption: yes Timeslicing: no Task (smp3) created: id=0x0a010003, priority=7 Task (smp3) starting: id=0x0a010003, priority=7 ==> 8: task_create smp4 8 Creating task with: Preemption: yes Timeslicing: no Task (smp4) created: id=0x0a010004, priority=8 Task (smp4) starting: id=0x0a010004, priority=8 ==> 9: dispatch === Invoke Thread Dispatch on CPU 1 Thread Heir: 0x0a010002 priority=6 Thread Executing: 0x09010002 priority=255 Thread Executing: 0x0a010002 priority=6 === Invoke Thread Dispatch on CPU 2 Thread Heir: 0x0a010003 priority=7 Thread Executing: 0x09010003 priority=255 Thread Executing: 0x0a010003 priority=7 === Invoke Thread Dispatch on CPU 3 Thread Heir: 0x0a010004 priority=8 Thread Executing: 0x09010004 priority=255 Thread Executing: 0x0a010004 priority=8 ==> 10: # GOAL: Tasks 0x0a010001 - 0x0a010004 as heir and executing ==> 11: # GOAL: on CPUs 1 - 4 respectively ==> 12: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010002 @ 6 / 0x0a010002 @ 6 / 0x09010002 @255 false CPU 2: 0x0a010003 @ 7 / 0x0a010003 @ 7 / 0x09010003 @255 false CPU 3: 0x0a010004 @ 8 / 0x0a010004 @ 8 / 0x09010004 @255 false === End of Ready Set of Threads ==> 13: ==> 14: task_create smp5 5 Creating task with: Preemption: yes Timeslicing: no Thread Heir: 0x0a010001 priority=3 Thread Executing: 0x0a010001 priority=3 Task (smp5) created: id=0x0a010005, priority=5 Task (smp5) starting: id=0x0a010005, priority=5 ==> 15: clock_tick 1 ClockTick (1) ... ==> 16: dispatch === Invoke Thread Dispatch on CPU 3 Thread Heir: 0x0a010005 priority=5 Thread Executing: 0x0a010004 priority=8 Thread Executing: 0x0a010005 priority=5 ==> 17: # GOAL: Tasks 0x0a010001, 0x0a010002, 0x0a010003, and 0x0a010005 are ==> 18: # GOAL: heir and executing on CPUs 1 - 4 respectively ==> 19: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010002 @ 6 / 0x0a010002 @ 6 / 0x09010002 @255 false CPU 2: 0x0a010003 @ 7 / 0x0a010003 @ 7 / 0x09010003 @255 false CPU 3: 0x0a010005 @ 5 / 0x0a010005 @ 5 / 0x09010004 @255 false === End of Ready Set of Threads ==> 20: ==> 21: task_create smp6 5 Creating task with: Preemption: yes Timeslicing: no Thread Heir: 0x0a010001 priority=3 Thread Executing: 0x0a010001 priority=3 Task (smp6) created: id=0x0a010006, priority=5 Task (smp6) starting: id=0x0a010006, priority=5 ==> 22: clock_tick 1 ClockTick (1) ... ==> 23: dispatch === Invoke Thread Dispatch on CPU 2 Thread Heir: 0x0a010006 priority=5 Thread Executing: 0x0a010003 priority=7 Thread Executing: 0x0a010006 priority=5 ==> 24: # GOAL: Tasks 0x0a010001, 0x0a010002, 0x0a010006, and 0x0a010005 are ==> 25: # GOAL: heir and executing on CPUs 1 - 4 respectively ==> 26: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010002 @ 6 / 0x0a010002 @ 6 / 0x09010002 @255 false CPU 2: 0x0a010006 @ 5 / 0x0a010006 @ 5 / 0x09010003 @255 false CPU 3: 0x0a010005 @ 5 / 0x0a010005 @ 5 / 0x09010004 @255 false === End of Ready Set of Threads ==> 27: ==> 28: task_create smp7 5 Creating task with: Preemption: yes Timeslicing: no Thread Heir: 0x0a010001 priority=3 Thread Executing: 0x0a010001 priority=3 Task (smp7) created: id=0x0a010007, priority=5 Task (smp7) starting: id=0x0a010007, priority=5 ==> 29: clock_tick 1 ClockTick (1) ... ==> 30: dispatch === Invoke Thread Dispatch on CPU 1 Thread Heir: 0x0a010007 priority=5 Thread Executing: 0x0a010002 priority=6 Thread Executing: 0x0a010007 priority=5 ==> 31: # GOAL: Tasks 0x0a010001, 0x0a010007, 0x0a010006, and 0x0a010005 are ==> 32: # GOAL: heir and executing on CPUs 1 - 4 respectively ==> 33: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010007 @ 5 / 0x0a010007 @ 5 / 0x09010002 @255 false CPU 2: 0x0a010006 @ 5 / 0x0a010006 @ 5 / 0x09010003 @255 false CPU 3: 0x0a010005 @ 5 / 0x0a010005 @ 5 / 0x09010004 @255 false === End of Ready Set of Threads ==> 34: ==> 35: # We should pick task smp4 on the 4th core ==> 36: task_create smp8 4 Creating task with: Preemption: yes Timeslicing: no Thread Heir: 0x0a010001 priority=3 Thread Executing: 0x0a010001 priority=3 Task (smp8) created: id=0x0a010008, priority=4 Task (smp8) starting: id=0x0a010008, priority=4 ==> 37: # GOAL: Tasks 0x0a010001, 0x0a010007, and 0x0a010006 ==> 38: # GOAL: heir and executing on CPUs 1 - 3 respectively ==> 39: # GOAL: Task 0x0a010005 is executing on CPU 4 ==> 40: # GOAL: Task 0x0a010008 is heir on CPU 4 ==> 41: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010007 @ 5 / 0x0a010007 @ 5 / 0x09010002 @255 false CPU 2: 0x0a010006 @ 5 / 0x0a010006 @ 5 / 0x09010003 @255 false CPU 3: 0x0a010005 @ 5 / 0x0a010008 @ 4 / 0x09010004 @255 true === End of Ready Set of Threads ==> 42: dispatch === Invoke Thread Dispatch on CPU 3 Thread Heir: 0x0a010008 priority=4 Thread Executing: 0x0a010005 priority=5 Thread Executing: 0x0a010008 priority=4 ==> 43: # GOAL: Tasks 0x0a010001, 0x0a010007, 0x0a010006, and 0x0a010008 are ==> 44: # GOAL: heir and executing on CPUs 1 - 4 respectively ==> 45: cpus === CPU Status EXECUTING / HEIR / IDLE / SWITCH NEEDED CPU 0: 0x0a010001 @ 3 / 0x0a010001 @ 3 / 0x09010001 @255 false CPU 1: 0x0a010007 @ 5 / 0x0a010007 @ 5 / 0x09010002 @255 false CPU 2: 0x0a010006 @ 5 / 0x0a010006 @ 5 / 0x09010003 @255 false CPU 3: 0x0a010008 @ 4 / 0x0a010008 @ 4 / 0x09010004 @255 false === End of Ready Set of Threads