diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-10-27 08:35:22 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-11-23 11:00:28 +0100 |
commit | 6d20f0c5257164d8ec8127e3e55a1686b7dba8d1 (patch) | |
tree | f6dc441d25e8f9141adc0b2cfc8ff05eda0d40a7 /cpukit/score | |
parent | score: Rework idle handling in SMP schedulers (diff) | |
download | rtems-6d20f0c5257164d8ec8127e3e55a1686b7dba8d1.tar.bz2 |
score: Add node to insert to Chain_Node_order
This allows to use additional members of the nodes for comparision.
Update #4534.
Diffstat (limited to 'cpukit/score')
-rw-r--r-- | cpukit/score/src/coremsginsert.c | 6 | ||||
-rw-r--r-- | cpukit/score/src/schedulerpriorityaffinitysmp.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/cpukit/score/src/coremsginsert.c b/cpukit/score/src/coremsginsert.c index 14b023d9e1..d9e88ae0eb 100644 --- a/cpukit/score/src/coremsginsert.c +++ b/cpukit/score/src/coremsginsert.c @@ -24,14 +24,16 @@ #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY) static bool _CORE_message_queue_Order( - const void *left, + const void *key, + const Chain_Node *left, const Chain_Node *right ) { const int *left_priority; const CORE_message_queue_Buffer *right_message; - left_priority = (const int *) left; + (void) left; + left_priority = (const int *) key; right_message = (const CORE_message_queue_Buffer *) right; return *left_priority < diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c index 7d971ef8d1..63d9ae47b1 100644 --- a/cpukit/score/src/schedulerpriorityaffinitysmp.c +++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c @@ -52,12 +52,13 @@ */ static bool _Scheduler_priority_affinity_SMP_Priority_less_equal( - const void *to_insert, + const void *key, + const Chain_Node *to_insert, const Chain_Node *next ) { return next != NULL - && _Scheduler_SMP_Priority_less_equal( to_insert, next ); + && _Scheduler_SMP_Priority_less_equal( key, to_insert, next ); } static Scheduler_priority_affinity_SMP_Node * @@ -326,6 +327,7 @@ static void _Scheduler_priority_affinity_SMP_Check_for_migrations( if ( _Scheduler_SMP_Priority_less_equal( &lowest_scheduled_priority, + &lowest_scheduled->Node.Chain, &highest_ready->Node.Chain ) ) { |