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/include/rtems/score/schedulernode.h | |
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 '')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulernode.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/cpukit/score/include/rtems/score/schedulernode.h b/cpukit/score/include/rtems/score/schedulernode.h index 09d03d4e59..1474b0c13c 100644 --- a/cpukit/score/include/rtems/score/schedulernode.h +++ b/cpukit/score/include/rtems/score/schedulernode.h @@ -67,14 +67,16 @@ struct Scheduler_Node { /** * @brief Chain node for usage in various scheduler data structures. * - * Strictly this is the wrong place for this field since the data structures + * Strictly, this is the wrong place for this field since the data structures * to manage scheduler nodes belong to the particular scheduler - * implementation. Currently all SMP scheduler implementations use chains. - * The node is here to simplify things, just like the object node in the - * thread control block. It may be replaced with a union to add a red-black - * tree node in the future. + * implementation. Currently, all SMP scheduler implementations use chains + * or red-black trees. The node is here to simplify things, just like the + * object node in the thread control block. */ - Chain_Node Node; + union { + Chain_Node Chain; + RBTree_Node RBTree; + } Node; /** * @brief The sticky level determines if this scheduler node should use an |