diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-04 06:17:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-06 09:08:22 +0200 |
commit | 84dc9dfb24409ef16280c8e6d0d013336517ea15 (patch) | |
tree | b30cf82b3b781722b798782e2ba530f389c3c365 /cpukit/score/include/rtems/score/threadmp.h | |
parent | score: Add node map to _RBTree_Find_inline() (diff) | |
download | rtems-84dc9dfb24409ef16280c8e6d0d013336517ea15.tar.bz2 |
score: Use red-black tree for active MP proxies
Update #2555.
Diffstat (limited to 'cpukit/score/include/rtems/score/threadmp.h')
-rw-r--r-- | cpukit/score/include/rtems/score/threadmp.h | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index d2877806c6..5dc5c7ebec 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -69,27 +69,13 @@ Thread_Control *_Thread_MP_Allocate_proxy ( * id from the active chain of proxy control blocks. * * This function removes the proxy control block for the specified - * id from the active chain of proxy control blocks. + * id from the active red-black tree of proxy control blocks. */ Thread_Control *_Thread_MP_Find_proxy ( Objects_Id the_id ); /** - * @brief Manage the active set MP proxies. - * - * The following chain is used to manage the active set proxies. - */ -extern Chain_Control _Thread_MP_Active_proxies; - -/** - * @brief Manage the inactive set of MP proxies. - * - * The following chain is used to manage the inactive set of proxies. - */ -extern Chain_Control _Thread_MP_Inactive_proxies; - -/** * This function returns true if the thread in question is the * multiprocessing receive thread. * @@ -103,19 +89,8 @@ extern Chain_Control _Thread_MP_Inactive_proxies; * This routine frees a proxy control block to the * inactive chain of free proxy control blocks. */ +void _Thread_MP_Free_proxy( Thread_Control *the_thread ); -RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( - Thread_Control *the_thread -) -{ - Thread_Proxy_control *the_proxy; - - the_proxy = (Thread_Proxy_control *) the_thread; - - _Chain_Extract( &the_proxy->Active ); - - _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node ); -} /**@}*/ |