arch/util/machine-pxshm.C File Reference
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
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 | OutgoingMsgRec |
| struct | PxshmSendQ |
| struct | PxshmContext |
Enumerations |
| enum | entities { SENDER,
RECEIVER,
SENDER,
RECEIVER
} |
Functions |
| void | calculateNodeSizeAndRank (char **) |
| void | setupSharedBuffers (void) |
| void | initAllSendQs (void) |
| void | CmiExitPxshm (void) |
| static void | cleanupOnAllSigs (int signo) |
| void | CmiInitPxshm (char **argv) |
| void | tearDownSharedBuffers (void) |
| void | freeSharedBuffers (void) |
| static int | CmiValidPxshm (int node, int size) |
| int | PxshmRank (int dstnode) |
| void | pushSendQ (PxshmSendQ *q, char *msg, int size, int *refcount) |
| int | sendMessage (char *msg, int size, int *refcount, sharedBufData *dstBuf, PxshmSendQ *dstSendQ) |
| int | flushSendQ (PxshmSendQ *q) |
| int | sendMessageRec (OutgoingMsgRec *omg, sharedBufData *dstBuf, PxshmSendQ *dstSendQ) |
| void | CmiSendMessagePxshm (char *msg, int size, int dstnode, int *refcount) |
Variables |
| static int | SHMBUFLEN = (1024 * 1024 * 4) |
| static int | SHMMAXSIZE = (1024 * 1024) |
| static int | SENDQSTARTSIZE = 256 |
| static int | sendQ_head_index = -1 |
| PxshmContext * | pxshmContext = NULL |
| static int | pxshm_freed = 0 |
Detailed Description
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.