summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/schedulerpriorityaffinitysmp.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/schedulerpriorityaffinitysmp.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/schedulerpriorityaffinitysmp.c')
-rw-r--r--cpukit/score/src/schedulerpriorityaffinitysmp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c
index 45afb571ef..1fa5dbf920 100644
--- a/cpukit/score/src/schedulerpriorityaffinitysmp.c
+++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c
@@ -248,8 +248,14 @@ static Scheduler_Node * _Scheduler_priority_affinity_SMP_Get_lowest_scheduled(
* than filter thread is, then we can't schedule the filter thread
* to execute.
*/
- if ( (*order)( &node->Base.Base.Base.Node, &filter->Base.Base.Base.Node ) )
+ if (
+ (*order)(
+ &node->Base.Base.Base.Node.Chain,
+ &filter->Base.Base.Base.Node.Chain
+ )
+ ) {
break;
+ }
/* cpu_index is the processor number thread is executing on */
thread = _Scheduler_Node_get_owner( &node->Base.Base.Base );