source: rtems-schedsim/schedsim/shell/schedsim_smpsimple/scenarios/cpus4_mode_case2.expected @ f40778b

Last change on this file since f40778b was f40778b, checked in by Joel Sherrill <joel.sherrill@…>, on 05/17/11 at 19:31:12

2011-05-17 Joel Sherrill <joel.sherrill@…>

  • .cvsignore, ChangeLog?, Makefile.am, README, TODO, add_commands.c, config.c, main_current_cpu.c, main_dispatch.c, main_dump_all_cpus.c, main_dump_ready_tasks.c, printheir_executing.c, schedsim.cc, smp_stub.c, wrap_thread_dispatch.c, scenarios/.cvsignore, scenarios/cpus1_mode.expected, scenarios/cpus1_mode.scen, scenarios/cpus1_priority.expected, scenarios/cpus1_priority.scen, scenarios/cpus1_resume_on_primary.expected, scenarios/cpus1_resume_on_primary.scen, scenarios/cpus1_suspend_on_primary.expected, scenarios/cpus1_suspend_on_primary.scen, scenarios/cpus4_mode_case1.expected, scenarios/cpus4_mode_case1.scen, scenarios/cpus4_mode_case2.expected, scenarios/cpus4_mode_case2.scen, scenarios/cpus4_nonpreempt_case1.expected, scenarios/cpus4_nonpreempt_case1.scen, scenarios/cpus4_pick_older.expected, scenarios/cpus4_pick_older.scen, scenarios/cpus4_priority.expected, scenarios/cpus4_priority.scen, scenarios/cpus4_simple_nopreempt.expected, scenarios/cpus4_simple_nopreempt.scen, scenarios/cpus4_simple_preemption.expected, scenarios/cpus4_simple_preemption.scen, scenarios/cpus4_suspend_on_all.expected, scenarios/cpus4_suspend_on_all.scen, scenarios/cpus4_suspend_on_primary.expected, scenarios/cpus4_suspend_on_primary.scen, scenarios/cpus4_suspend_on_secondary.expected, scenarios/cpus4_suspend_on_secondary.scen: New files.
  • Property mode set to 100644
File size: 3.8 KB
Line 
1Script File               : scenarios/cpus4_mode_case2.scen
2verbose                   : 1
3==> 1: #
4==> 2: #  Show how having a non-preemptive task can create a
5==> 3: #  priority inversion
6==> 4: #
7==> 5: rtems_init 4
8  Thread Heir: 0x09010001 priority=255
9  Thread Executing: 0x09010001 priority=255
10==> 6: task_create -p smp1 4
11Creating task with:  Preemption: no Timeslicing: no
12Task (smp1) created: id=0x0a010001, priority=4
13Task (smp1) starting: id=0x0a010001, priority=4
14  Thread Heir: 0x0a010001 priority=4
15  Thread Executing: 0x0a010001 priority=4
16==> 7: task_create -p smp2 5
17Creating task with:  Preemption: no Timeslicing: no
18Task (smp2) created: id=0x0a010002, priority=5
19Task (smp2) starting: id=0x0a010002, priority=5
20==> 8: task_create -p smp3 4
21Creating task with:  Preemption: no Timeslicing: no
22Task (smp3) created: id=0x0a010003, priority=4
23Task (smp3) starting: id=0x0a010003, priority=4
24==> 9: task_create -p smp4 4
25Creating task with:  Preemption: no Timeslicing: no
26Task (smp4) created: id=0x0a010004, priority=4
27Task (smp4) starting: id=0x0a010004, priority=4
28==> 10: dispatch
29=== Invoke Thread Dispatch on CPU 1
30  Thread Heir: 0x0a010002 priority=5
31  Thread Executing: 0x09010002 priority=255
32  Thread Executing: 0x0a010002 priority=5
33=== Invoke Thread Dispatch on CPU 2
34  Thread Heir: 0x0a010003 priority=4
35  Thread Executing: 0x09010003 priority=255
36  Thread Executing: 0x0a010003 priority=4
37=== Invoke Thread Dispatch on CPU 3
38  Thread Heir: 0x0a010004 priority=4
39  Thread Executing: 0x09010004 priority=255
40  Thread Executing: 0x0a010004 priority=4
41==> 11: # GOAL: 0x0a010001 - 0x0a010004 are heir and executing
42==> 12: # GOAL:   on CPUs 0 - 3 respectively
43==> 13: cpus
44=== CPU Status
45            EXECUTING    /     HEIR         /    IDLE        /  SWITCH NEEDED
46  CPU 0: 0x0a010001 @  4 / 0x0a010001 @  4 / 0x09010001 @255         false
47  CPU 1: 0x0a010002 @  5 / 0x0a010002 @  5 / 0x09010002 @255         false
48  CPU 2: 0x0a010003 @  4 / 0x0a010003 @  4 / 0x09010003 @255         false
49  CPU 3: 0x0a010004 @  4 / 0x0a010004 @  4 / 0x09010004 @255         false
50=== End of Ready Set of Threads
51==> 14:
52==> 15: task_create smp5 3
53Creating task with:  Preemption: yes Timeslicing: no
54  Thread Heir: 0x0a010001 priority=4
55  Thread Executing: 0x0a010001 priority=4
56Task (smp5) created: id=0x0a010005, priority=3
57Task (smp5) starting: id=0x0a010005, priority=3
58==> 16: dispatch
59==> 17: # GOAL: 0x0a010001 - 0x0a010004 are executing on CPUs 0 - 3.
60==> 18: # GOAL:   All are also heir EXCEPT 0x0a010005 is heir on CPU 1.
61==> 19: # GOAL: **** SHOWS INVERSION - CPU 1 has NO PREEMPT TASK ****
62==> 20: cpus
63=== CPU Status
64            EXECUTING    /     HEIR         /    IDLE        /  SWITCH NEEDED
65  CPU 0: 0x0a010001 @  4 / 0x0a010001 @  4 / 0x09010001 @255         false
66  CPU 1: 0x0a010002 @  5 / 0x0a010005 @  3 / 0x09010002 @255         false
67  CPU 2: 0x0a010003 @  4 / 0x0a010003 @  4 / 0x09010003 @255         false
68  CPU 3: 0x0a010004 @  4 / 0x0a010004 @  4 / 0x09010004 @255         false
69=== End of Ready Set of Threads
70==> 21:
71==> 22: current_cpu 1
72Changing current CPU from 0 to 1
73==> 23: task_mode -P
74  Thread Heir: 0x0a010005 priority=3
75  Thread Executing: 0x0a010002 priority=5
76  Thread Executing: 0x0a010005 priority=3
77Previous Mode: Preemption: no Timeslicing: no
78Current Mode:  Preemption: yes Timeslicing: no
79==> 24: dispatch
80==> 25: # GOAL: 0x0a010001, 0x0a010005, 0x0a010003, and 0x0a010004 are
81==> 26: # GOAL:   heir and executing on CPUs 0 - 3
82==> 27: cpus
83=== CPU Status
84            EXECUTING    /     HEIR         /    IDLE        /  SWITCH NEEDED
85  CPU 0: 0x0a010001 @  4 / 0x0a010001 @  4 / 0x09010001 @255         false
86  CPU 1: 0x0a010005 @  3 / 0x0a010005 @  3 / 0x09010002 @255         false
87  CPU 2: 0x0a010003 @  4 / 0x0a010003 @  4 / 0x09010003 @255         false
88  CPU 3: 0x0a010004 @  4 / 0x0a010004 @  4 / 0x09010004 @255         false
89=== End of Ready Set of Threads
Note: See TracBrowser for help on using the repository browser.