Thread Handler Multiprocessing Support


Functions

void _Thread_MP_Handler_initialization (uint32_t maximum_proxies)
 _Thread_MP_Handler_initialization
Thread_Control_Thread_MP_Allocate_proxy (States_Control the_state)
 _Thread_MP_Allocate_proxy
Thread_Control_Thread_MP_Find_proxy (Objects_Id the_id)
 _Thread_MP_Find_proxy
RTEMS_INLINE_ROUTINE boolean _Thread_MP_Is_receive (Thread_Control *the_thread)
RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy (Thread_Control *the_thread)

Variables

SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies
 Active Proxy Set.
SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies
 Inactive Proxy Set.

Detailed Description

This handler encapsulates functionality which is related to managing threads in a multiprocessor system configuration. This handler must manage proxies which represent remote threads blocking on local operations.

Function Documentation

Thread_Control* _Thread_MP_Allocate_proxy ( States_Control  the_state  ) 

_Thread_MP_Allocate_proxy

This allocates a proxy control block from the inactive chain of free proxy control blocks.

Note:
This function returns a thread control pointer because proxies are substitutes for remote threads.

Thread_Control* _Thread_MP_Find_proxy ( Objects_Id  the_id  ) 

_Thread_MP_Find_proxy

This function removes the proxy control block for the specified id from the active chain of proxy control blocks.

RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( Thread_Control the_thread  ) 

This routine frees a proxy control block to the inactive chain of free proxy control blocks.

References _Chain_Append(), _Chain_Extract(), _Thread_MP_Inactive_proxies, Thread_Proxy_control::Active, Objects_Control::Node, and Thread_Control_struct::Object.

void _Thread_MP_Handler_initialization ( uint32_t  maximum_proxies  ) 

_Thread_MP_Handler_initialization

This routine initializes the multiprocessing portion of the Thread Handler.

RTEMS_INLINE_ROUTINE boolean _Thread_MP_Is_receive ( Thread_Control the_thread  ) 

This function returns true if the thread in question is the multiprocessing receive thread.

References _MPCI_Receive_server_tcb.


Variable Documentation

Active Proxy Set.

The following chain is used to manage the active set proxies.

Inactive Proxy Set.

The following chain is used to manage the inactive set of proxies.

Referenced by _Thread_MP_Free_proxy().


Generated on Fri Jul 4 00:21:26 2008 for RTEMSSuperCore by  doxygen 1.5.6