smpcapture01 explanation and expected output.

Gedare Bloom gedare at rtems.org
Tue Nov 4 16:20:41 UTC 2014


Thanks, I was going to ask for more explanation on that patch itself.
This documentation should accompany the test-case.

-Gedare

On Tue, Nov 4, 2014 at 9:22 AM, Jennifer Averett
<Jennifer.Averett at oarcorp.com> wrote:
> 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 ***
>
>
>
>
>
>
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list