[rtems-schedsim commit] shedsim_smppriority_affinity: Add scenarios.

Jennifer Averett jennifer at rtems.org
Tue May 20 18:04:33 UTC 2014


Module:    rtems-schedsim
Branch:    master
Commit:    807b593eebce2b1b0cf94dd5b149906260901ddb
Changeset: http://git.rtems.org/rtems-schedsim/commit/?id=807b593eebce2b1b0cf94dd5b149906260901ddb

Author:    Jennifer Averett <jennifer.averett at oarcorp.com>
Date:      Tue May 20 12:50:18 2014 -0500

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 deletions(-)

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




More information about the vc mailing list