summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/schedulersimplesmp.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-06-29 09:44:16 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-06-29 11:15:50 +0200
commit15dbc710b62084e101bd2a46b3faa1ddc7ee417e (patch)
treed71a7668156a8713d01a3c30413fd2115d409293 /cpukit/score/src/schedulersimplesmp.c
parentsmptests: Split smpscheduler03 (diff)
downloadrtems-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.c16
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(