smpcapture01 explanation and expected output.
Jennifer Averett
Jennifer.Averett at OARcorp.com
Tue Nov 4 14:22:56 UTC 2014
I was asked to post an explanation of the a test I just submitted for review (smpcapture01). It is a new SMP test added that does a worst case migration of 4 tasks on a 4 core system tracking and displaying the user extension records. This task is rather complex to describe but using the notation TaskName:Priority:{cpu,cpu} where the third portion indicates the CPUs the task has affinity for. The test starts with the initialization task (UT1:7:{2,3}) starting execution on CPU 3. This results in the following tasks assigned across the CPUs:
* CPUs 0-2: Idle threads
* CPU 3: UT1
The UT1 task creates four more tasks as follows:
* TA1:8:{2,3}
* TA2:5:{0,1}
* TA3:6:{0,3}
* TA3:9:{1}
This should result in the tasks being assigned to CPUs as follows:
* CPU 0: TA3
* CPU 1: TA2
* CPU 2: TA1
* CPU 3: UT1
TA4 should be ready to execute but waiting on a CPU it has affinity for to become available.
The test then raises the priority of TA4 to 4, resulting in the tasks being assigned to CPUs as follows:
* CPU 0: TA2
* CPU 1: TA4
* CPU 2: UT1
* CPU 3: TA3
At this point TA1 should still be ready to execute but is waiting on a CPU it has affinity for to become available.
The tasks are then terminated. Additionally, the capture engine output shows that the migration that can occur during task termination adheres to the affinity settings.
The capture engine output of this test is as follows:
*** BEGIN OF TEST SMPCAPTURE 1 ***
1 0:00:00.008653000 0a010003 TA02 5 5 5 4096 TASK_RECORD
0 0:00:00.008659000 0a010004 TA03 6 6 6 4096 TASK_RECORD
2 0:00:00.008663000 0a010002 TA01 8 8 8 4096 TASK_RECORD
1 0:00:00.008681000 0 0a010003 5 5 SWITCHED_IN
0 0:00:00.008686000 0 0a010004 6 6 SWITCHED_IN
2 0:00:00.008691000 0 0a010002 8 8 SWITCHED_IN
1 0:00:00.008734000 53000 0a010003 5 5 BEGIN
0 0:00:00.008738000 52000 0a010004 6 6 BEGIN
2 0:00:00.008743000 52000 0a010002 8 8 BEGIN
3 0:00:00.008914000 0a010001 UI1 7 7 7 4096 TASK_RECORD
3 0:00:00.008943000 0 0a010001 7 7 CREATED_BY
3 0:00:00.009015000 0a010005 TA04 9 9 9 4096 TASK_RECORD
3 0:00:00.009041000 98000 0a010005 9 9 CREATED
3 0:00:00.009298000 257000 0a010001 7 7 STARTED_BY
3 0:00:00.009326000 28000 0a010005 9 9 STARTED
3 0:00:01.000432000 991106000 0a010001 7 7 SWITCHED_OUT
1 0:00:01.000452000 991718000 0a010003 5 5 SWITCHED_OUT
3 0:00:01.000456000 24000 0a010004 6 6 SWITCHED_IN
0 0:00:01.000473000 991735000 0a010004 6 6 SWITCHED_OUT
1 0:00:01.000476000 24000 0a010005 4 4 SWITCHED_IN
2 0:00:01.000491000 991748000 0a010002 8 8 SWITCHED_OUT
0 0:00:01.000496000 23000 0a010003 5 5 SWITCHED_IN
2 0:00:01.000514000 0 0a010001 7 7 SWITCHED_IN
1 0:00:01.000527000 0 0a010005 4 4 BEGIN
2 0:00:01.500426000 499912000 0a010001 7 7 SWITCHED_OUT
2 0:00:01.500450000 24000 0a010002 7 7 SWITCHED_IN
2 0:00:01.500579000 129000 0a010002 7 7 TERMINATED
2 0:00:01.500731000 152000 0a010002 7 7 SWITCHED_OUT
2 0:00:01.500755000 24000 0a010001 7 7 SWITCHED_IN
2 0:00:01.500966000 211000 0a010001 7 7 SWITCHED_OUT
0 0:00:01.501049000 0 0a010003 7 5 TERMINATED
2 0:00:01.501186000 220000 0a010001 7 7 SWITCHED_IN
0 0:00:01.501200000 151000 0a010003 7 5 SWITCHED_OUT
2 0:00:01.501391000 205000 0a010001 7 7 SWITCHED_OUT
3 0:00:01.501476000 0 0a010004 7 6 TERMINATED
3 0:00:01.501623000 147000 0a010004 7 6 SWITCHED_OUT
3 0:00:01.501649000 26000 0a010001 7 7 SWITCHED_IN
3 0:00:01.501867000 218000 0a010001 7 7 SWITCHED_OUT
1 0:00:01.501945000 501418000 0a010005 7 4 TERMINATED
3 0:00:01.502083000 216000 0a010001 7 7 SWITCHED_IN
1 0:00:01.502136000 191000 0a010005 7 4 SWITCHED_OUT
*** END OF TEST SMPCAPTURE 1 ***
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20141104/52f7007e/attachment-0001.html>
More information about the devel
mailing list