diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-29 09:44:16 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-29 11:15:50 +0200 |
commit | 15dbc710b62084e101bd2a46b3faa1ddc7ee417e (patch) | |
tree | d71a7668156a8713d01a3c30413fd2115d409293 /cpukit/score/src/schedulersimplesmp.c | |
parent | smptests: Split smpscheduler03 (diff) | |
download | rtems-15dbc710b62084e101bd2a46b3faa1ddc7ee417e.tar.bz2 |
score: Add red-black tree node to Scheduler_Node
In SMP configurations, add a red-black tree node to Scheduler_Node to
enable an EDF scheduler implementation.
Update #3056.
Diffstat (limited to 'cpukit/score/src/schedulersimplesmp.c')
-rw-r--r-- | cpukit/score/src/schedulersimplesmp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/cpukit/score/src/schedulersimplesmp.c b/cpukit/score/src/schedulersimplesmp.c index 41eb491019..2884876381 100644 --- a/cpukit/score/src/schedulersimplesmp.c +++ b/cpukit/score/src/schedulersimplesmp.c @@ -88,7 +88,7 @@ static Scheduler_Node *_Scheduler_simple_SMP_Get_highest_ready( (void) node; - _Assert( &first->Node != _Chain_Tail( &self->Ready ) ); + _Assert( &first->Node.Chain != _Chain_Tail( &self->Ready ) ); return first; } @@ -101,10 +101,10 @@ static void _Scheduler_simple_SMP_Move_from_scheduled_to_ready( Scheduler_simple_SMP_Context *self = _Scheduler_simple_SMP_Get_self( context ); - _Chain_Extract_unprotected( &scheduled_to_ready->Node ); + _Chain_Extract_unprotected( &scheduled_to_ready->Node.Chain ); _Chain_Insert_ordered_unprotected( &self->Ready, - &scheduled_to_ready->Node, + &scheduled_to_ready->Node.Chain, _Scheduler_SMP_Insert_priority_lifo_order ); } @@ -117,10 +117,10 @@ static void _Scheduler_simple_SMP_Move_from_ready_to_scheduled( Scheduler_simple_SMP_Context *self = _Scheduler_simple_SMP_Get_self( context ); - _Chain_Extract_unprotected( &ready_to_scheduled->Node ); + _Chain_Extract_unprotected( &ready_to_scheduled->Node.Chain ); _Chain_Insert_ordered_unprotected( &self->Base.Scheduled, - &ready_to_scheduled->Node, + &ready_to_scheduled->Node.Chain, _Scheduler_SMP_Insert_priority_fifo_order ); } @@ -135,7 +135,7 @@ static void _Scheduler_simple_SMP_Insert_ready_lifo( _Chain_Insert_ordered_unprotected( &self->Ready, - &node_to_insert->Node, + &node_to_insert->Node.Chain, _Scheduler_SMP_Insert_priority_lifo_order ); } @@ -150,7 +150,7 @@ static void _Scheduler_simple_SMP_Insert_ready_fifo( _Chain_Insert_ordered_unprotected( &self->Ready, - &node_to_insert->Node, + &node_to_insert->Node.Chain, _Scheduler_SMP_Insert_priority_fifo_order ); } @@ -162,7 +162,7 @@ static void _Scheduler_simple_SMP_Extract_from_ready( { (void) context; - _Chain_Extract_unprotected( &node_to_extract->Node ); + _Chain_Extract_unprotected( &node_to_extract->Node.Chain ); } void _Scheduler_simple_SMP_Block( |