summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/threadmp.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-04 06:17:36 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-06 09:08:22 +0200
commit84dc9dfb24409ef16280c8e6d0d013336517ea15 (patch)
treeb30cf82b3b781722b798782e2ba530f389c3c365 /cpukit/score/include/rtems/score/threadmp.h
parentscore: Add node map to _RBTree_Find_inline() (diff)
downloadrtems-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.h29
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 );
-}
/**@}*/