From 807b593eebce2b1b0cf94dd5b149906260901ddb Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Tue, 20 May 2014 12:50:18 -0500 Subject: shedsim_smppriority_affinity: Add scenarios. --- .../scenarios/cpus4_affinity_case1.expected | 2 +- .../scenarios/cpus4_affinity_case2.expected | 85 ++++++++++++++++++++++ .../scenarios/cpus4_affinity_case2.scen | 23 ++++++ .../scenarios/cpus4_priority_case1.expected | 82 +++++++++++++++++++++ .../scenarios/cpus4_priority_case1.scen | 24 ++++++ .../scenarios/cpus4_priority_case2.expected | 79 ++++++++++++++++++++ .../scenarios/cpus4_priority_case2.scen | 23 ++++++ 7 files changed, 317 insertions(+), 1 deletion(-) create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.expected create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.scen create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.expected create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.scen create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.expected create mode 100644 schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.scen diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case1.expected b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case1.expected index f227d3b..8aae39b 100644 --- a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case1.expected +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case1.expected @@ -1,4 +1,4 @@ -Script File : cpus4_affinity_case1.scen +Script File : scenarios/cpus4_affinity_case1.scen verbose : 1 ==> 1: # ==> 2: # diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.expected b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.expected new file mode 100644 index 0000000..a763f61 --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.expected @@ -0,0 +1,85 @@ +Script File : scenarios/cpus4_affinity_case2.scen +verbose : 1 +==> 1: # +==> 2: # +==> 3: # +==> 4: rtems_init 4 + CPU 0: Thread Heir 0x09010001 priority=255 + CPU 0: Thread Executing 0x09010001 priority=255 + CPU 1: Thread Heir 0x09010002 priority=255 + CPU 1: Thread Executing 0x09010002 priority=255 + CPU 2: Thread Heir 0x09010003 priority=255 + CPU 2: Thread Executing 0x09010003 priority=255 + CPU 3: Thread Heir 0x09010004 priority=255 + CPU 3: Thread Executing 0x09010004 priority=255 +==> 5: task_create smp1 4 +Creating task with: Preemption: yes Timeslicing: no +Task (smp1) created: id=0x0a010001, priority=4 +Task (smp1) starting: id=0x0a010001, priority=4 + CPU 3: Thread Heir 0x0a010001 priority=4 + CPU 3: Thread Executing 0x0a010001 priority=4 +==> 6: task_create smp2 4 +Creating task with: Preemption: yes Timeslicing: no +Task (smp2) created: id=0x0a010002, priority=4 +Task (smp2) starting: id=0x0a010002, priority=4 + CPU 2: Thread Heir 0x0a010002 priority=4 + CPU 2: Thread Executing 0x0a010002 priority=4 +==> 7: task_create smp3 4 +Creating task with: Preemption: yes Timeslicing: no +Task (smp3) created: id=0x0a010003, priority=4 +Task (smp3) starting: id=0x0a010003, priority=4 + CPU 1: Thread Heir 0x0a010003 priority=4 + CPU 1: Thread Executing 0x0a010003 priority=4 +==> 8: task_create smp4 4 +Creating task with: Preemption: yes Timeslicing: no +Task (smp4) created: id=0x0a010004, priority=4 +Task (smp4) starting: id=0x0a010004, priority=4 + CPU 0: Thread Heir 0x0a010004 priority=4 + CPU 0: Thread Executing 0x0a010004 priority=4 +==> 9: task_create smp5 4 +Creating task with: Preemption: yes Timeslicing: no +Task (smp5) created: id=0x0a010005, priority=4 +Task (smp5) starting: id=0x0a010005, priority=4 +==> 10: +==> 11: # GOAL: want 0x0a010004 - 0x0a010001 as heir and executings +==> 12: # GOAL: on CPUs 0 -3 respectively +==> 13: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 4 / 0x0a010004 @ 4 false + CPU 1: 0x0a010003 @ 4 / 0x0a010003 @ 4 false + CPU 2: 0x0a010002 @ 4 / 0x0a010002 @ 4 false + CPU 3: 0x0a010001 @ 4 / 0x0a010001 @ 4 false +=== End of Ready Set of Threads +==> 14: +==> 15: task_set_affinity smp5 0x03 +Task (0x0a010005) Set affinity=0x00000003 + CPU 1: Thread Heir 0x0a010005 priority=4 + CPU 1: Thread Executing 0x0a010005 priority=4 +==> 16: # GOAL: want 0x0a010004, 0x0a010005, 0x0a010002,0x0a010001 +==> 17: # GOAL: as heir and executings on CPUs 0-3 respectively +==> 18: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 4 / 0x0a010004 @ 4 false + CPU 1: 0x0a010005 @ 4 / 0x0a010005 @ 4 false + CPU 2: 0x0a010002 @ 4 / 0x0a010002 @ 4 false + CPU 3: 0x0a010001 @ 4 / 0x0a010001 @ 4 false +=== End of Ready Set of Threads +==> 19: +==> 20: task_set_affinity smp2 0x01 +Task (0x0a010002) Set affinity=0x00000001 + CPU 0: Thread Heir 0x0a010002 priority=4 + CPU 0: Thread Executing 0x0a010002 priority=4 + CPU 2: Thread Heir 0x0a010003 priority=4 + CPU 2: Thread Executing 0x0a010003 priority=4 +===> 21: # GOAL: want 0x0a010002, 0x0a010005, 0x0a010003,0x0a010001 +==> 22: # GOAL: as heir and executings on CPUs 0-3 respectively +==> 23: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010002 @ 4 / 0x0a010002 @ 4 false + CPU 1: 0x0a010005 @ 4 / 0x0a010005 @ 4 false + CPU 2: 0x0a010003 @ 4 / 0x0a010003 @ 4 false + CPU 3: 0x0a010001 @ 4 / 0x0a010001 @ 4 false +=== End of Ready Set of Threads diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.scen b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.scen new file mode 100644 index 0000000..6150daa --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_affinity_case2.scen @@ -0,0 +1,23 @@ +# +# +# +rtems_init 4 +task_create smp1 4 +task_create smp2 4 +task_create smp3 4 +task_create smp4 4 +task_create smp5 4 + +# GOAL: want 0x0a010004 - 0x0a010001 as heir and executings +# GOAL: on CPUs 0 -3 respectively +cpus + +task_set_affinity smp5 0x03 +# GOAL: want 0x0a010004, 0x0a010005, 0x0a010002,0x0a010001 +# GOAL: as heir and executings on CPUs 0-3 respectively +cpus + +task_set_affinity smp2 0x01 +# GOAL: want 0x0a010002, 0x0a010005, 0x0a010003,0x0a010001 +# GOAL: as heir and executings on CPUs 0-3 respectively +cpus diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.expected b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.expected new file mode 100644 index 0000000..c43cdda --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.expected @@ -0,0 +1,82 @@ +Script File : scenarios/cpus4_priority_case1.scen +verbose : 1 +==> 1: # +==> 2: # Ensure lowest priority is preempted +==> 3: # +==> 4: rtems_init 4 + CPU 0: Thread Heir 0x09010001 priority=255 + CPU 0: Thread Executing 0x09010001 priority=255 + CPU 1: Thread Heir 0x09010002 priority=255 + CPU 1: Thread Executing 0x09010002 priority=255 + CPU 2: Thread Heir 0x09010003 priority=255 + CPU 2: Thread Executing 0x09010003 priority=255 + CPU 3: Thread Heir 0x09010004 priority=255 + CPU 3: Thread Executing 0x09010004 priority=255 +==> 5: task_create smp1 7 +Creating task with: Preemption: yes Timeslicing: no +Task (smp1) created: id=0x0a010001, priority=7 +Task (smp1) starting: id=0x0a010001, priority=7 + CPU 3: Thread Heir 0x0a010001 priority=7 + CPU 3: Thread Executing 0x0a010001 priority=7 +==> 6: task_create smp2 8 +Creating task with: Preemption: yes Timeslicing: no +Task (smp2) created: id=0x0a010002, priority=8 +Task (smp2) starting: id=0x0a010002, priority=8 + CPU 2: Thread Heir 0x0a010002 priority=8 + CPU 2: Thread Executing 0x0a010002 priority=8 +==> 7: task_create smp3 5 +Creating task with: Preemption: yes Timeslicing: no +Task (smp3) created: id=0x0a010003, priority=5 +Task (smp3) starting: id=0x0a010003, priority=5 + CPU 1: Thread Heir 0x0a010003 priority=5 + CPU 1: Thread Executing 0x0a010003 priority=5 +==> 8: task_create smp4 6 +Creating task with: Preemption: yes Timeslicing: no +Task (smp4) created: id=0x0a010004, priority=6 +Task (smp4) starting: id=0x0a010004, priority=6 + CPU 0: Thread Heir 0x0a010004 priority=6 + CPU 0: Thread Executing 0x0a010004 priority=6 +==> 9: task_create smp5 9 +Creating task with: Preemption: yes Timeslicing: no +Task (smp5) created: id=0x0a010005, priority=9 +Task (smp5) starting: id=0x0a010005, priority=9 +==> 10: +==> 11: # GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +==> 12: # GOAL: on CPUs 3-0 respectively +==> 13: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010002 @ 8 / 0x0a010002 @ 8 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads +==> 14: +==> 15: # Tasks are created and distributed across CPUs +==> 16: task_set_affinity smp5 0x01 +Task (0x0a010005) Set affinity=0x00000001 +==> 17: # GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +==> 18: # GOAL: on CPUs 3-0 respectively +==> 19: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010002 @ 8 / 0x0a010002 @ 8 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads +==> 20: +==> 21: task_priority smp5 5 + CPU 2: Thread Heir 0x0a010005 priority=5 + CPU 2: Thread Executing 0x0a010005 priority=5 +Task (0x0a010005) Change Priority from 9 to 5 +==> 22: # GOAL: want 0x0a010005, 0x0a010003, 0x0a010004, 0x0a010001 +==> 23: # GOAL: to be heir AND executing on CPU 0-3 respectively +==> 24: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010005 @ 5 / 0x0a010005 @ 5 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.scen b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.scen new file mode 100644 index 0000000..e7bfb1e --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case1.scen @@ -0,0 +1,24 @@ +# +# Ensure lowest priority is preempted +# +rtems_init 4 +task_create smp1 7 +task_create smp2 8 +task_create smp3 5 +task_create smp4 6 +task_create smp5 9 + +# GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +# GOAL: on CPUs 3-0 respectively +cpus + +# Tasks are created and distributed across CPUs +task_set_affinity smp5 0x01 +# GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +# GOAL: on CPUs 3-0 respectively +cpus + +task_priority smp5 5 +# GOAL: want 0x0a010005, 0x0a010003, 0x0a010004, 0x0a010001 +# GOAL: to be heir AND executing on CPU 0-3 respectively +cpus diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.expected b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.expected new file mode 100644 index 0000000..958960f --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.expected @@ -0,0 +1,79 @@ +Script File : scenarios/cpus4_priority_case2.scen +verbose : 1 +==> 1: # +==> 2: # Ensure lowest priority is preempted +==> 3: # +==> 4: rtems_init 4 + CPU 0: Thread Heir 0x09010001 priority=255 + CPU 0: Thread Executing 0x09010001 priority=255 + CPU 1: Thread Heir 0x09010002 priority=255 + CPU 1: Thread Executing 0x09010002 priority=255 + CPU 2: Thread Heir 0x09010003 priority=255 + CPU 2: Thread Executing 0x09010003 priority=255 + CPU 3: Thread Heir 0x09010004 priority=255 + CPU 3: Thread Executing 0x09010004 priority=255 +==> 5: task_create smp1 7 +Creating task with: Preemption: yes Timeslicing: no +Task (smp1) created: id=0x0a010001, priority=7 +Task (smp1) starting: id=0x0a010001, priority=7 + CPU 3: Thread Heir 0x0a010001 priority=7 + CPU 3: Thread Executing 0x0a010001 priority=7 +==> 6: task_create smp2 8 +Creating task with: Preemption: yes Timeslicing: no +Task (smp2) created: id=0x0a010002, priority=8 +Task (smp2) starting: id=0x0a010002, priority=8 + CPU 2: Thread Heir 0x0a010002 priority=8 + CPU 2: Thread Executing 0x0a010002 priority=8 +==> 7: task_create smp3 5 +Creating task with: Preemption: yes Timeslicing: no +Task (smp3) created: id=0x0a010003, priority=5 +Task (smp3) starting: id=0x0a010003, priority=5 + CPU 1: Thread Heir 0x0a010003 priority=5 + CPU 1: Thread Executing 0x0a010003 priority=5 +==> 8: task_create smp4 6 +Creating task with: Preemption: yes Timeslicing: no +Task (smp4) created: id=0x0a010004, priority=6 +Task (smp4) starting: id=0x0a010004, priority=6 + CPU 0: Thread Heir 0x0a010004 priority=6 + CPU 0: Thread Executing 0x0a010004 priority=6 +==> 9: task_create smp5 9 +Creating task with: Preemption: yes Timeslicing: no +Task (smp5) created: id=0x0a010005, priority=9 +Task (smp5) starting: id=0x0a010005, priority=9 +==> 10: # GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +==> 11: # GOAL: on CPUs 3-0 respectively +==> 12: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010002 @ 8 / 0x0a010002 @ 8 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads +==> 13: +==> 14: # Tasks are created and distributed across CPUs +==> 15: task_set_affinity smp5 0x02 +Task (0x0a010005) Set affinity=0x00000002 +==> 16: # GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +==> 17: # GOAL: on CPUs 3-0 respectively +==> 18: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010002 @ 8 / 0x0a010002 @ 8 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads +==> 19: +==> 20: task_priority smp5 6 +Task (0x0a010005) Change Priority from 9 to 6 +==> 21: # GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +==> 22: # GOAL: on CPUs 3-0 respectively +==> 23: cpus +=== CPU Status + EXECUTING / HEIR / SWITCH NEEDED + CPU 0: 0x0a010004 @ 6 / 0x0a010004 @ 6 false + CPU 1: 0x0a010003 @ 5 / 0x0a010003 @ 5 false + CPU 2: 0x0a010002 @ 8 / 0x0a010002 @ 8 false + CPU 3: 0x0a010001 @ 7 / 0x0a010001 @ 7 false +=== End of Ready Set of Threads diff --git a/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.scen b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.scen new file mode 100644 index 0000000..e4fb0c7 --- /dev/null +++ b/schedsim/shell/schedsim_smppriority_affinity/scenarios/cpus4_priority_case2.scen @@ -0,0 +1,23 @@ +# +# Ensure lowest priority is preempted +# +rtems_init 4 +task_create smp1 7 +task_create smp2 8 +task_create smp3 5 +task_create smp4 6 +task_create smp5 9 +# GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +# GOAL: on CPUs 3-0 respectively +cpus + +# Tasks are created and distributed across CPUs +task_set_affinity smp5 0x02 +# GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +# GOAL: on CPUs 3-0 respectively +cpus + +task_priority smp5 6 +# GOAL: want 0x0a010001 - 0x0a010004 as heir and executings +# GOAL: on CPUs 3-0 respectively +cpus -- cgit v1.2.3