Changeset e9ee2f0 in rtems
- Timestamp:
- 05/13/14 12:36:57 (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 3730a07f
- Parents:
- c6522a65
- git-author:
- Sebastian Huber <sebastian.huber@…> (05/13/14 12:36:57)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (05/14/14 12:46:20)
- Location:
- cpukit/score
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/score/include/rtems/score/schedulersimplesmp.h
rc6522a65 re9ee2f0 60 60 #define SCHEDULER_SIMPLE_SMP_ENTRY_POINTS \ 61 61 { \ 62 _Scheduler_simple_ smp_Initialize, \63 _Scheduler_simple_ smp_Schedule, \64 _Scheduler_simple_ smp_Yield, \65 _Scheduler_simple_ smp_Block, \66 _Scheduler_simple_ smp_Enqueue_priority_fifo, \67 _Scheduler_simple_ smp_Allocate, \62 _Scheduler_simple_SMP_Initialize, \ 63 _Scheduler_simple_SMP_Schedule, \ 64 _Scheduler_simple_SMP_Yield, \ 65 _Scheduler_simple_SMP_Block, \ 66 _Scheduler_simple_SMP_Enqueue_priority_fifo, \ 67 _Scheduler_simple_SMP_Allocate, \ 68 68 _Scheduler_default_Free, \ 69 69 _Scheduler_default_Update, \ 70 _Scheduler_simple_ smp_Enqueue_priority_fifo, \71 _Scheduler_simple_ smp_Enqueue_priority_lifo, \72 _Scheduler_simple_ smp_Extract, \70 _Scheduler_simple_SMP_Enqueue_priority_fifo, \ 71 _Scheduler_simple_SMP_Enqueue_priority_lifo, \ 72 _Scheduler_simple_SMP_Extract, \ 73 73 _Scheduler_priority_Priority_compare, \ 74 74 _Scheduler_default_Release_job, \ 75 75 _Scheduler_default_Tick, \ 76 _Scheduler_simple_ smp_Start_idle, \76 _Scheduler_simple_SMP_Start_idle, \ 77 77 _Scheduler_default_Get_affinity, \ 78 78 _Scheduler_default_Set_affinity \ 79 79 } 80 80 81 void _Scheduler_simple_ smp_Initialize( const Scheduler_Control *scheduler );81 void _Scheduler_simple_SMP_Initialize( const Scheduler_Control *scheduler ); 82 82 83 bool _Scheduler_simple_ smp_Allocate(83 bool _Scheduler_simple_SMP_Allocate( 84 84 const Scheduler_Control *scheduler, 85 85 Thread_Control *the_thread 86 86 ); 87 87 88 void _Scheduler_simple_ smp_Block(88 void _Scheduler_simple_SMP_Block( 89 89 const Scheduler_Control *scheduler, 90 90 Thread_Control *thread 91 91 ); 92 92 93 void _Scheduler_simple_ smp_Enqueue_priority_fifo(93 void _Scheduler_simple_SMP_Enqueue_priority_fifo( 94 94 const Scheduler_Control *scheduler, 95 95 Thread_Control *thread 96 96 ); 97 97 98 void _Scheduler_simple_ smp_Enqueue_priority_lifo(98 void _Scheduler_simple_SMP_Enqueue_priority_lifo( 99 99 const Scheduler_Control *scheduler, 100 100 Thread_Control *thread 101 101 ); 102 102 103 void _Scheduler_simple_ smp_Extract(103 void _Scheduler_simple_SMP_Extract( 104 104 const Scheduler_Control *scheduler, 105 105 Thread_Control *thread 106 106 ); 107 107 108 void _Scheduler_simple_ smp_Yield(108 void _Scheduler_simple_SMP_Yield( 109 109 const Scheduler_Control *scheduler, 110 110 Thread_Control *thread 111 111 ); 112 112 113 void _Scheduler_simple_ smp_Schedule(113 void _Scheduler_simple_SMP_Schedule( 114 114 const Scheduler_Control *scheduler, 115 115 Thread_Control *thread 116 116 ); 117 117 118 void _Scheduler_simple_ smp_Start_idle(118 void _Scheduler_simple_SMP_Start_idle( 119 119 const Scheduler_Control *scheduler, 120 120 Thread_Control *thread, -
cpukit/score/src/schedulersimplesmp.c
rc6522a65 re9ee2f0 36 36 } 37 37 38 void _Scheduler_simple_ smp_Initialize( const Scheduler_Control *scheduler )38 void _Scheduler_simple_SMP_Initialize( const Scheduler_Control *scheduler ) 39 39 { 40 40 Scheduler_simple_SMP_Context *self = … … 45 45 } 46 46 47 bool _Scheduler_simple_ smp_Allocate(47 bool _Scheduler_simple_SMP_Allocate( 48 48 const Scheduler_Control *scheduler, 49 49 Thread_Control *the_thread … … 57 57 } 58 58 59 static Thread_Control *_Scheduler_simple_ smp_Get_highest_ready(59 static Thread_Control *_Scheduler_simple_SMP_Get_highest_ready( 60 60 Scheduler_SMP_Context *smp_base 61 61 ) … … 73 73 } 74 74 75 static void _Scheduler_simple_ smp_Move_from_scheduled_to_ready(75 static void _Scheduler_simple_SMP_Move_from_scheduled_to_ready( 76 76 Scheduler_SMP_Context *smp_base, 77 77 Thread_Control *scheduled_to_ready … … 88 88 } 89 89 90 static void _Scheduler_simple_ smp_Move_from_ready_to_scheduled(90 static void _Scheduler_simple_SMP_Move_from_ready_to_scheduled( 91 91 Scheduler_SMP_Context *smp_base, 92 92 Thread_Control *ready_to_scheduled … … 100 100 } 101 101 102 static void _Scheduler_simple_ smp_Insert_ready_lifo(102 static void _Scheduler_simple_SMP_Insert_ready_lifo( 103 103 Scheduler_SMP_Context *smp_base, 104 104 Thread_Control *thread … … 115 115 } 116 116 117 static void _Scheduler_simple_ smp_Insert_ready_fifo(117 static void _Scheduler_simple_SMP_Insert_ready_fifo( 118 118 Scheduler_SMP_Context *smp_base, 119 119 Thread_Control *thread … … 130 130 } 131 131 132 static void _Scheduler_simple_ smp_Do_extract(132 static void _Scheduler_simple_SMP_Do_extract( 133 133 Scheduler_SMP_Context *smp_base, 134 134 Thread_Control *thread … … 148 148 } 149 149 150 void _Scheduler_simple_ smp_Block(150 void _Scheduler_simple_SMP_Block( 151 151 const Scheduler_Control *scheduler, 152 152 Thread_Control *thread … … 159 159 &self->Base, 160 160 thread, 161 _Scheduler_simple_ smp_Do_extract,162 _Scheduler_simple_ smp_Get_highest_ready,163 _Scheduler_simple_ smp_Move_from_ready_to_scheduled164 ); 165 } 166 167 static void _Scheduler_simple_ smp_Enqueue_ordered(161 _Scheduler_simple_SMP_Do_extract, 162 _Scheduler_simple_SMP_Get_highest_ready, 163 _Scheduler_simple_SMP_Move_from_ready_to_scheduled 164 ); 165 } 166 167 static void _Scheduler_simple_SMP_Enqueue_ordered( 168 168 Scheduler_SMP_Context *smp_base, 169 169 Thread_Control *thread, … … 177 177 thread, 178 178 order, 179 _Scheduler_simple_ smp_Get_highest_ready,179 _Scheduler_simple_SMP_Get_highest_ready, 180 180 insert_ready, 181 181 insert_scheduled, 182 _Scheduler_simple_ smp_Move_from_ready_to_scheduled,183 _Scheduler_simple_ smp_Move_from_scheduled_to_ready184 ); 185 } 186 187 void _Scheduler_simple_ smp_Enqueue_priority_lifo(188 const Scheduler_Control *scheduler, 189 Thread_Control *thread 190 ) 191 { 192 Scheduler_simple_SMP_Context *self = 193 _Scheduler_simple_SMP_Get_context( scheduler ); 194 195 _Scheduler_simple_ smp_Enqueue_ordered(182 _Scheduler_simple_SMP_Move_from_ready_to_scheduled, 183 _Scheduler_simple_SMP_Move_from_scheduled_to_ready 184 ); 185 } 186 187 void _Scheduler_simple_SMP_Enqueue_priority_lifo( 188 const Scheduler_Control *scheduler, 189 Thread_Control *thread 190 ) 191 { 192 Scheduler_simple_SMP_Context *self = 193 _Scheduler_simple_SMP_Get_context( scheduler ); 194 195 _Scheduler_simple_SMP_Enqueue_ordered( 196 196 &self->Base, 197 197 thread, 198 198 _Scheduler_simple_Insert_priority_lifo_order, 199 _Scheduler_simple_ smp_Insert_ready_lifo,199 _Scheduler_simple_SMP_Insert_ready_lifo, 200 200 _Scheduler_SMP_Insert_scheduled_lifo 201 201 ); 202 202 } 203 203 204 void _Scheduler_simple_ smp_Enqueue_priority_fifo(205 const Scheduler_Control *scheduler, 206 Thread_Control *thread 207 ) 208 { 209 Scheduler_simple_SMP_Context *self = 210 _Scheduler_simple_SMP_Get_context( scheduler ); 211 212 _Scheduler_simple_ smp_Enqueue_ordered(204 void _Scheduler_simple_SMP_Enqueue_priority_fifo( 205 const Scheduler_Control *scheduler, 206 Thread_Control *thread 207 ) 208 { 209 Scheduler_simple_SMP_Context *self = 210 _Scheduler_simple_SMP_Get_context( scheduler ); 211 212 _Scheduler_simple_SMP_Enqueue_ordered( 213 213 &self->Base, 214 214 thread, 215 215 _Scheduler_simple_Insert_priority_fifo_order, 216 _Scheduler_simple_ smp_Insert_ready_fifo,216 _Scheduler_simple_SMP_Insert_ready_fifo, 217 217 _Scheduler_SMP_Insert_scheduled_fifo 218 218 ); 219 219 } 220 220 221 void _Scheduler_simple_ smp_Extract(221 void _Scheduler_simple_SMP_Extract( 222 222 const Scheduler_Control *scheduler, 223 223 Thread_Control *thread … … 230 230 &self->Base, 231 231 thread, 232 _Scheduler_simple_ smp_Do_extract233 ); 234 } 235 236 void _Scheduler_simple_ smp_Yield(232 _Scheduler_simple_SMP_Do_extract 233 ); 234 } 235 236 void _Scheduler_simple_SMP_Yield( 237 237 const Scheduler_Control *scheduler, 238 238 Thread_Control *thread … … 243 243 _ISR_Disable( level ); 244 244 245 _Scheduler_simple_ smp_Extract( scheduler, thread );246 _Scheduler_simple_ smp_Enqueue_priority_fifo( scheduler, thread );245 _Scheduler_simple_SMP_Extract( scheduler, thread ); 246 _Scheduler_simple_SMP_Enqueue_priority_fifo( scheduler, thread ); 247 247 248 248 _ISR_Enable( level ); 249 249 } 250 250 251 void _Scheduler_simple_ smp_Schedule(251 void _Scheduler_simple_SMP_Schedule( 252 252 const Scheduler_Control *scheduler, 253 253 Thread_Control *thread … … 260 260 &self->Base, 261 261 thread, 262 _Scheduler_simple_ smp_Get_highest_ready,263 _Scheduler_simple_ smp_Move_from_ready_to_scheduled264 ); 265 } 266 267 void _Scheduler_simple_ smp_Start_idle(262 _Scheduler_simple_SMP_Get_highest_ready, 263 _Scheduler_simple_SMP_Move_from_ready_to_scheduled 264 ); 265 } 266 267 void _Scheduler_simple_SMP_Start_idle( 268 268 const Scheduler_Control *scheduler, 269 269 Thread_Control *thread,
Note: See TracChangeset
for help on using the changeset viewer.