diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/src/schedulerpriorityaffinitysmp.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c index 76b46010cb..cec09729fb 100644 --- a/cpukit/score/src/schedulerpriorityaffinitysmp.c +++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c @@ -306,10 +306,18 @@ static void _Scheduler_priority_affinity_SMP_Check_for_migrations( Scheduler_Context *context ) { - Scheduler_Node *lowest_scheduled; - Scheduler_Node *highest_ready; + Scheduler_priority_SMP_Context *self; + Scheduler_Node *lowest_scheduled; + Scheduler_Node *highest_ready; + + self = _Scheduler_priority_SMP_Get_self( context ); while (1) { + if ( _Priority_bit_map_Is_empty( &self->Bit_map ) ) { + /* Nothing to do */ + break; + } + highest_ready = _Scheduler_priority_affinity_SMP_Get_highest_ready( context, NULL ); |