1 | Script File : scenarios/cpus4_affinity_block_case1.scen |
---|
2 | verbose : 1 |
---|
3 | ==> 1: # |
---|
4 | ==> 2: # Block a thread in an application with thread affinity and |
---|
5 | ==> 3: # priorities such that finding an heir requires scanning the |
---|
6 | ==> 4: # ready set of threads. |
---|
7 | ==> 5: # |
---|
8 | ==> 6: # Basic premise: |
---|
9 | ==> 7: # - Two threads at low priority, affinity for core 0 |
---|
10 | ==> 8: # - More threads than core at high priority, affinity for all but core 0 |
---|
11 | ==> 9: # |
---|
12 | ==> 10: rtems_init 4 |
---|
13 | CPU 0: Thread Heir: 0x09010001 priority=255 |
---|
14 | CPU 0: Thread Executing: 0x09010001 priority=255 |
---|
15 | CPU 1: Thread Heir: 0x09010002 priority=255 |
---|
16 | CPU 1: Thread Executing: 0x09010002 priority=255 |
---|
17 | CPU 2: Thread Heir: 0x09010003 priority=255 |
---|
18 | CPU 2: Thread Executing: 0x09010003 priority=255 |
---|
19 | CPU 3: Thread Heir: 0x09010004 priority=255 |
---|
20 | CPU 3: Thread Executing: 0x09010004 priority=255 |
---|
21 | ==> 11: task_create smp1 -a 0xe 10 |
---|
22 | Creating task with: Preemption: yes Timeslicing: no |
---|
23 | Task (smp1) created: id=0x0a010001, priority=10 |
---|
24 | Task (0x0a010001) Set affinity=0x0000000e |
---|
25 | Task (smp1) starting: id=0x0a010001, priority=10 |
---|
26 | CPU 3: Thread Heir: 0x0a010001 priority=10 |
---|
27 | CPU 3: Thread Executing: 0x0a010001 priority=10 |
---|
28 | ==> 12: task_create smp2 -a 0xe 10 |
---|
29 | Creating task with: Preemption: yes Timeslicing: no |
---|
30 | Task (smp2) created: id=0x0a010002, priority=10 |
---|
31 | Task (0x0a010002) Set affinity=0x0000000e |
---|
32 | Task (smp2) starting: id=0x0a010002, priority=10 |
---|
33 | CPU 2: Thread Heir: 0x0a010002 priority=10 |
---|
34 | CPU 2: Thread Executing: 0x0a010002 priority=10 |
---|
35 | ==> 13: task_create smp3 -a 0xe 10 |
---|
36 | Creating task with: Preemption: yes Timeslicing: no |
---|
37 | Task (smp3) created: id=0x0a010003, priority=10 |
---|
38 | Task (0x0a010003) Set affinity=0x0000000e |
---|
39 | Task (smp3) starting: id=0x0a010003, priority=10 |
---|
40 | CPU 1: Thread Heir: 0x0a010003 priority=10 |
---|
41 | CPU 1: Thread Executing: 0x0a010003 priority=10 |
---|
42 | ==> 14: task_create smp4 -a 0xe 10 |
---|
43 | Creating task with: Preemption: yes Timeslicing: no |
---|
44 | Task (smp4) created: id=0x0a010004, priority=10 |
---|
45 | Task (0x0a010004) Set affinity=0x0000000e |
---|
46 | Task (smp4) starting: id=0x0a010004, priority=10 |
---|
47 | ==> 15: # GOAL: Core 0 should be idle |
---|
48 | ==> 16: # GOAL: Cores 1-3 should be 0x0a01000[321] respectively |
---|
49 | ==> 17: cpus IDLE smp3 smp2 smp1 |
---|
50 | === CPU Status |
---|
51 | EXECUTING / HEIR / SWITCH NEEDED |
---|
52 | CPU 0: 0x09010001 @255 / 0x09010001 @255 false |
---|
53 | CPU 1: 0x0a010003 @ 10 / 0x0a010003 @ 10 false |
---|
54 | CPU 2: 0x0a010002 @ 10 / 0x0a010002 @ 10 false |
---|
55 | CPU 3: 0x0a010001 @ 10 / 0x0a010001 @ 10 false |
---|
56 | === End of Ready Set of Threads |
---|
57 | ==> 18: |
---|
58 | ==> 19: # check_tasks IDLE smp3 smp2 smp1 |
---|
59 | ==> 20: # GOAL: Core 0 should have aff1 0x0a010005 |
---|
60 | ==> 21: # GOAL: Cores 1-3 should be 0x0a01000[321] respectively |
---|
61 | ==> 22: task_create aff1 -a 0x1 11 |
---|
62 | Creating task with: Preemption: yes Timeslicing: no |
---|
63 | Task (aff1) created: id=0x0a010005, priority=11 |
---|
64 | Task (0x0a010005) Set affinity=0x00000001 |
---|
65 | Task (aff1) starting: id=0x0a010005, priority=11 |
---|
66 | CPU 0: Thread Heir: 0x0a010005 priority=11 |
---|
67 | CPU 0: Thread Executing: 0x0a010005 priority=11 |
---|
68 | ==> 23: cpus aff1 smp3 smp2 smp1 |
---|
69 | === CPU Status |
---|
70 | EXECUTING / HEIR / SWITCH NEEDED |
---|
71 | CPU 0: 0x0a010005 @ 11 / 0x0a010005 @ 11 false |
---|
72 | CPU 1: 0x0a010003 @ 10 / 0x0a010003 @ 10 false |
---|
73 | CPU 2: 0x0a010002 @ 10 / 0x0a010002 @ 10 false |
---|
74 | CPU 3: 0x0a010001 @ 10 / 0x0a010001 @ 10 false |
---|
75 | === End of Ready Set of Threads |
---|
76 | ==> 24: |
---|
77 | ==> 25: # Create a low priority task with affinity to core 0 |
---|
78 | ==> 26: task_create aff2 -a 0x1 11 |
---|
79 | Creating task with: Preemption: yes Timeslicing: no |
---|
80 | Task (aff2) created: id=0x0a010006, priority=11 |
---|
81 | Task (0x0a010006) Set affinity=0x00000001 |
---|
82 | Task (aff2) starting: id=0x0a010006, priority=11 |
---|
83 | ==> 27: cpus aff1 smp3 smp2 smp1 |
---|
84 | === CPU Status |
---|
85 | EXECUTING / HEIR / SWITCH NEEDED |
---|
86 | CPU 0: 0x0a010005 @ 11 / 0x0a010005 @ 11 false |
---|
87 | CPU 1: 0x0a010003 @ 10 / 0x0a010003 @ 10 false |
---|
88 | CPU 2: 0x0a010002 @ 10 / 0x0a010002 @ 10 false |
---|
89 | CPU 3: 0x0a010001 @ 10 / 0x0a010001 @ 10 false |
---|
90 | === End of Ready Set of Threads |
---|
91 | ==> 28: task_suspend aff1 |
---|
92 | Suspending task (0x0a010005) |
---|
93 | CPU 0: Thread Heir: 0x0a010006 priority=11 |
---|
94 | CPU 0: Thread Executing: 0x0a010006 priority=11 |
---|
95 | ==> 29: cpus aff2 smp3 smp2 smp1 |
---|
96 | === CPU Status |
---|
97 | EXECUTING / HEIR / SWITCH NEEDED |
---|
98 | CPU 0: 0x0a010006 @ 11 / 0x0a010006 @ 11 false |
---|
99 | CPU 1: 0x0a010003 @ 10 / 0x0a010003 @ 10 false |
---|
100 | CPU 2: 0x0a010002 @ 10 / 0x0a010002 @ 10 false |
---|
101 | CPU 3: 0x0a010001 @ 10 / 0x0a010001 @ 10 false |
---|
102 | === End of Ready Set of Threads |
---|