arch/net/machine-pxshm.c File Reference

size = CmiMsgHeaderGetLength(msg); pxshm --> posix shared memory based network layer for communication between processes on the same node This is not going to be the primary mode of communication but only for messages below a certain size between processes on the same node for non-smp version only * More...

Go to the source code of this file.

Data Structures

struct  sharedBufHeader
 This struct is used as the first portion of a shared memory region, followed by data. More...
struct  sharedBufData
struct  PxshmSendQ
struct  PxshmContext

Enumerations

enum  entities { SENDER, RECEIVER }

Functions

void calculateNodeSizeAndRank (char **)
void setupSharedBuffers ()
void initAllSendQs ()
void CmiInitPxshm (char **argv)
void tearDownSharedBuffers ()
void CmiExitPxshm ()
int CmiValidPxshm (OutgoingMsg ogm, OtherNode node)
int PxshmRank (int dst)
void pushSendQ (PxshmSendQ *q, OutgoingMsg msg)
int sendMessage (OutgoingMsg ogm, sharedBufData *dstBuf, PxshmSendQ *dstSendQ)
int flushSendQ (int dstRank)
void CmiSendMessagePxshm (OutgoingMsg ogm, OtherNode node, int rank, unsigned int broot)

Variables

PxshmContextpxshmContext = NULL


Detailed Description

size = CmiMsgHeaderGetLength(msg); pxshm --> posix shared memory based network layer for communication between processes on the same node This is not going to be the primary mode of communication but only for messages below a certain size between processes on the same node for non-smp version only *

contains only pxshm code for

There are three options here for synchronization: PXSHM_FENCE is the default. It uses memory fences PXSHM_OSSPINLOCK will cause OSSpinLock's to be used (available on OSX) PXSHM_LOCK will cause POSIX semaphores to be used

created by Sayantan Chakravorty, sayantan@gmail.com ,21st March 2007

Definition in file machine-pxshm.c.


Generated on Sun Jun 29 13:29:32 2008 for Charm++ by  doxygen 1.5.1