1 | Script File : scenarios/cpus4_affinity_api_case2.scen |
---|
2 | verbose : 1 |
---|
3 | ==> 1: # |
---|
4 | ==> 2: # Verify that affinity APIs work with the right values |
---|
5 | ==> 3: # |
---|
6 | ==> 4: # This scenario does **NOT** change the affinity of any thread |
---|
7 | ==> 5: # which ever executes. |
---|
8 | ==> 6: # |
---|
9 | ==> 7: rtems_init 4 |
---|
10 | CPU 0: Thread Heir 0x09010001 priority=255 |
---|
11 | CPU 0: Thread Executing 0x09010001 priority=255 |
---|
12 | CPU 1: Thread Heir 0x09010002 priority=255 |
---|
13 | CPU 1: Thread Executing 0x09010002 priority=255 |
---|
14 | CPU 2: Thread Heir 0x09010003 priority=255 |
---|
15 | CPU 2: Thread Executing 0x09010003 priority=255 |
---|
16 | CPU 3: Thread Heir 0x09010004 priority=255 |
---|
17 | CPU 3: Thread Executing 0x09010004 priority=255 |
---|
18 | ==> 8: task_create smp1 5 |
---|
19 | Creating task with: Preemption: yes Timeslicing: no |
---|
20 | Task (smp1) created: id=0x0a010001, priority=5 |
---|
21 | Task (smp1) starting: id=0x0a010001, priority=5 |
---|
22 | CPU 3: Thread Heir 0x0a010001 priority=5 |
---|
23 | CPU 3: Thread Executing 0x0a010001 priority=5 |
---|
24 | ==> 9: task_create smp2 6 |
---|
25 | Creating task with: Preemption: yes Timeslicing: no |
---|
26 | Task (smp2) created: id=0x0a010002, priority=6 |
---|
27 | Task (smp2) starting: id=0x0a010002, priority=6 |
---|
28 | CPU 2: Thread Heir 0x0a010002 priority=6 |
---|
29 | CPU 2: Thread Executing 0x0a010002 priority=6 |
---|
30 | ==> 10: task_create smp3 6 |
---|
31 | Creating task with: Preemption: yes Timeslicing: no |
---|
32 | Task (smp3) created: id=0x0a010003, priority=6 |
---|
33 | Task (smp3) starting: id=0x0a010003, priority=6 |
---|
34 | CPU 1: Thread Heir 0x0a010003 priority=6 |
---|
35 | CPU 1: Thread Executing 0x0a010003 priority=6 |
---|
36 | ==> 11: task_create smp4 5 |
---|
37 | Creating task with: Preemption: yes Timeslicing: no |
---|
38 | Task (smp4) created: id=0x0a010004, priority=5 |
---|
39 | Task (smp4) starting: id=0x0a010004, priority=5 |
---|
40 | CPU 0: Thread Heir 0x0a010004 priority=5 |
---|
41 | CPU 0: Thread Executing 0x0a010004 priority=5 |
---|
42 | ==> 12: task_create smp5 6 |
---|
43 | Creating task with: Preemption: yes Timeslicing: no |
---|
44 | Task (smp5) created: id=0x0a010005, priority=6 |
---|
45 | Task (smp5) starting: id=0x0a010005, priority=6 |
---|
46 | ==> 13: dispatch |
---|
47 | ==> 14: # GOAL: Tasks 0x0a01000[4321] as heir and executing on CPUs 0 - 3 respectively |
---|
48 | ==> 15: # GOAL: smp5 has too low priority to run |
---|
49 | ==> 16: cpus smp4 smp3 smp2 smp1 |
---|
50 | === CPU Status |
---|
51 | EXECUTING / HEIR / SWITCH NEEDED |
---|
52 | CPU 0: 0x0a010004 @ 5 / 0x0a010004 @ 5 false |
---|
53 | CPU 1: 0x0a010003 @ 6 / 0x0a010003 @ 6 false |
---|
54 | CPU 2: 0x0a010002 @ 6 / 0x0a010002 @ 6 false |
---|
55 | CPU 3: 0x0a010001 @ 5 / 0x0a010001 @ 5 false |
---|
56 | === End of Ready Set of Threads |
---|
57 | ==> 17: |
---|
58 | ==> 18: # GOAL: This should work OK and change the affinity |
---|
59 | ==> 19: # GOAL: Internally, smp5 should be selected as heir for CPU 3 while |
---|
60 | ==> 20: # GOAL: smp1 is in migrate state. When the migrate state is cleared |
---|
61 | ==> 21: # GOAL: at the end of set affinity, smp1 will end up on CPU 1. |
---|
62 | ==> 22: # |
---|
63 | ==> 23: # NOTE: On a scheduler without SMP, smp1 will be on CPU 3 |
---|
64 | ==> 24: task_get_affinity smp1 |
---|
65 | Task (0x0a010001) Get affinity=0x0000000f |
---|
66 | ==> 25: task_set_affinity smp1 0x02 |
---|
67 | CPU 1: Thread Heir 0x0a010001 priority=5 |
---|
68 | CPU 1: Thread Executing 0x0a010001 priority=5 |
---|
69 | CPU 3: Thread Heir 0x0a010005 priority=6 |
---|
70 | CPU 3: Thread Executing 0x0a010005 priority=6 |
---|
71 | Task (0x0a010001) Set affinity=0x00000002 |
---|
72 | ==> 26: task_get_affinity smp1 |
---|
73 | Task (0x0a010001) Get affinity=0x00000002 |
---|
74 | ==> 27: |
---|
75 | ==> 28: cpus smp4 smp1 smp2 smp5 |
---|
76 | === CPU Status |
---|
77 | EXECUTING / HEIR / SWITCH NEEDED |
---|
78 | CPU 0: 0x0a010004 @ 5 / 0x0a010004 @ 5 false |
---|
79 | CPU 1: 0x0a010001 @ 5 / 0x0a010001 @ 5 false |
---|
80 | CPU 2: 0x0a010002 @ 6 / 0x0a010002 @ 6 false |
---|
81 | CPU 3: 0x0a010005 @ 6 / 0x0a010005 @ 6 false |
---|
82 | === End of Ready Set of Threads |
---|