2006-04-05 Joel Sherrill <joel@OARcorp.com>

Victor V. Vengerov <Victor.Vengerov@oktetlabs.ru>

	* score/include/rtems/score/mpci.h,
	score/include/rtems/score/threadmp.h,
	score/inline/rtems/score/threadmp.inl,
	score/macros/rtems/score/threadmp.inl, score/src/threadmp.c,
	score/src/threadqenqueue.c: Victor spotted the problem that
	_MPCI_Receive_server_tcb and _Thread_MP_Receive were duplicate
	variables and needed to be set to the same value.  I took that
	idea and just removed _Thread_MP_Receive.  All uses are now
	_MPCI_Receive_server_tcb.
This commit is contained in:
Joel Sherrill
2006-04-05 20:08:59 +00:00
parent c19b37d49e
commit 5250299424
7 changed files with 27 additions and 15 deletions
+13
View File
@@ -1,3 +1,16 @@
2006-04-05 Joel Sherrill <joel@OARcorp.com>
Victor V. Vengerov <Victor.Vengerov@oktetlabs.ru>
* score/include/rtems/score/mpci.h,
score/include/rtems/score/threadmp.h,
score/inline/rtems/score/threadmp.inl,
score/macros/rtems/score/threadmp.inl, score/src/threadmp.c,
score/src/threadqenqueue.c: Victor spotted the problem that
_MPCI_Receive_server_tcb and _Thread_MP_Receive were duplicate
variables and needed to be set to the same value. I took that
idea and just removed _Thread_MP_Receive. All uses are now
_MPCI_Receive_server_tcb.
2006-03-27 Eric Norum <norume@aps.anl.gov>
* libmisc/monitor/prmisc.c: Eliminate undesired sign-extension.
+5 -2
View File
@@ -195,8 +195,11 @@ SCORE_EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads;
*/
SCORE_EXTERN MPCI_Control *_MPCI_table;
/**
* The following points to the MPCI Receive Server.
/** @brief Pointer to MP Thread Control Block
*
* The following is used to determine when the multiprocessing receive
* thread is executing so that a proxy can be allocated instead of
* blocking the multiprocessing receive thread.
*/
SCORE_EXTERN Thread_Control *_MPCI_Receive_server_tcb;
@@ -62,14 +62,6 @@ Thread_Control *_Thread_MP_Find_proxy (
Objects_Id the_id
);
/** @brief Pointer to MP Thread Control Block
*
* The following is used to determine when the multiprocessing receive
* thread is executing so that a proxy can be allocated instead of
* blocking the multiprocessing receive thread.
*/
SCORE_EXTERN Thread_Control *_Thread_MP_Receive;
/** @brief Active Proxy Set
*
* The following chain is used to manage the active set proxies.
+1 -1
View File
@@ -33,7 +33,7 @@ RTEMS_INLINE_ROUTINE boolean _Thread_MP_Is_receive (
Thread_Control *the_thread
)
{
return the_thread == _Thread_MP_Receive;
return the_thread == _MPCI_Receive_server_tcb;
}
/**
+1 -1
View File
@@ -23,7 +23,7 @@
*/
#define _Thread_MP_Is_receive( _the_thread ) \
( (_the_thread) == _Thread_MP_Receive)
( (_the_thread) == _MPCI_Receive_server_tcb)
/*PAGE
*
+4 -3
View File
@@ -19,6 +19,7 @@
#include <rtems/system.h>
#include <rtems/score/priority.h>
#include <rtems/score/thread.h>
#include <rtems/score/mpci.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/isr.h>
@@ -73,12 +74,12 @@ Thread_Control *_Thread_MP_Allocate_proxy (
_Thread_Executing->Wait.return_code = THREAD_STATUS_PROXY_BLOCKING;
the_proxy->receive_packet = _Thread_MP_Receive->receive_packet;
the_proxy->receive_packet = _MPCI_Receive_server_tcb->receive_packet;
the_proxy->Object.id = _Thread_MP_Receive->receive_packet->source_tid;
the_proxy->Object.id = _MPCI_Receive_server_tcb->receive_packet->source_tid;
the_proxy->current_priority =
_Thread_MP_Receive->receive_packet->source_priority;
_MPCI_Receive_server_tcb->receive_packet->source_priority;
the_proxy->current_state = _States_Set( STATES_DORMANT, the_state );
+3
View File
@@ -24,6 +24,9 @@
#include <rtems/score/thread.h>
#include <rtems/score/threadq.h>
#include <rtems/score/tqdata.h>
#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/score/mpci.h>
#endif
/*PAGE
*