From f6142c19f192e40ee1aa9ff67eb1c711343c157d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 9 Sep 2016 11:00:06 +0200 Subject: score: Scheduler node awareness for thread queues Maintain the priority of a thread for each scheduler instance via the thread queue enqueue, extract, priority actions and surrender operations. This replaces the primitive priority boosting. Update #2556. --- cpukit/score/include/rtems/score/threadqimpl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cpukit/score/include/rtems/score/threadqimpl.h') diff --git a/cpukit/score/include/rtems/score/threadqimpl.h b/cpukit/score/include/rtems/score/threadqimpl.h index 65b0e8eeab..e24beec1bb 100644 --- a/cpukit/score/include/rtems/score/threadqimpl.h +++ b/cpukit/score/include/rtems/score/threadqimpl.h @@ -280,12 +280,10 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Heads_initialize( #if defined(RTEMS_SMP) size_t i; - _Priority_Node_initialize( &heads->Boost_priority, 0 ); - _Priority_Node_set_inactive( &heads->Boost_priority ); - for ( i = 0; i < _Scheduler_Count; ++i ) { _Chain_Initialize_node( &heads->Priority[ i ].Node ); _Priority_Initialize_empty( &heads->Priority[ i ].Queue ); + heads->Priority[ i ].Queue.scheduler = &_Scheduler_Table[ i ]; } #endif @@ -955,6 +953,7 @@ void _Thread_queue_Unblock_proxy( ); #endif +#if defined(RTEMS_SMP) bool _Thread_queue_Path_acquire_critical( Thread_queue_Queue *queue, Thread_Control *the_thread, @@ -964,6 +963,7 @@ bool _Thread_queue_Path_acquire_critical( void _Thread_queue_Path_release_critical( Thread_queue_Context *queue_context ); +#endif /** * @brief Helper structure to ensure that all objects containing a thread queue -- cgit v1.2.3