diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-16 10:55:01 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-16 10:56:49 +0200 |
commit | 1ac0b083f84e4760331456e02928bfea97038e07 (patch) | |
tree | 906121b758c88f4e733c45f7c9489bf970a6b394 /cpukit | |
parent | score: Fix state diagram (diff) | |
download | rtems-1ac0b083f84e4760331456e02928bfea97038e07.tar.bz2 |
score: Simplify SMP scheduler support
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulersmpimpl.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersmpimpl.h b/cpukit/score/include/rtems/score/schedulersmpimpl.h index c63b464dd4..58ad844e0c 100644 --- a/cpukit/score/include/rtems/score/schedulersmpimpl.h +++ b/cpukit/score/include/rtems/score/schedulersmpimpl.h @@ -460,9 +460,6 @@ static inline void _Scheduler_SMP_Enqueue_ordered( _Assert( lowest_scheduled != NULL); - /* - * NOTE: Do not exchange parameters to do the negation of the order check. - */ if ( ( *order )( &thread->Object.Node, &lowest_scheduled->Object.Node ) ) { Scheduler_SMP_Node *lowest_scheduled_node = _Scheduler_SMP_Node_get( lowest_scheduled ); @@ -513,16 +510,14 @@ static inline void _Scheduler_SMP_Enqueue_scheduled_ordered( /* * The thread has been extracted from the scheduled chain. We have to place * it now on the scheduled or ready set. - * - * NOTE: Do not exchange parameters to do the negation of the order check. */ - if ( !( *order )( &thread->Object.Node, &highest_ready->Object.Node ) ) { + if ( ( *order )( &thread->Object.Node, &highest_ready->Object.Node ) ) { + ( *insert_scheduled )( &self->Base, thread ); + } else { _Scheduler_SMP_Node_change_state( node, SCHEDULER_SMP_NODE_READY ); _Scheduler_SMP_Allocate_processor( self, highest_ready, thread ); ( *insert_ready )( &self->Base, thread ); ( *move_from_ready_to_scheduled )( &self->Base, highest_ready ); - } else { - ( *insert_scheduled )( &self->Base, thread ); } } |