arch/net/machine-gm.c File Reference

Myrinet API GM implementation of Converse NET version. More...

Go to the source code of this file.

Data Structures

struct  PendingMsgStruct
struct  CmiIdleState
struct  CmiCb
struct  CmiRMA
struct  CmiRMAMsg
struct  RMAPutMsg

Typedefs

typedef PendingMsgStructPendingMsg
typedef CmiCb CmiCb
typedef CmiRMA CmiRMA
typedef CmiRMAMsg CmiRMAMsg
typedef RMAPutMsg RMAPutMsg

Functions

void handleGetSrc (void *msg)
void handleGetDest (void *msg)
void enqueue_sending (char *msg, int length, OtherNode node, int size)
static void alarmcallback (void *context)
static int processEvent (gm_recv_event_t *e)
static void send_progress ()
static void alarmInterrupt (int arg)
static int gmExit (int code, const char *msg)
static char * getErrorMsg (gm_status_t status)
static CmiIdleStateCmiNotifyGetState (void)
static void CmiNotifyStillIdle (CmiIdleState *s)
static void CmiNotifyBeginIdle (CmiIdleState *s)
void CmiNotifyIdle (void)
int CheckSocketsReady (int withDelayMs)
static void ServiceCharmrun_nolock ()
static void CommunicationServer_nolock (int withDelayMs)
static void CommunicationServer (int sleepTime, int where)
static void processMessage (char *msg, int len)
void drop_send_callback (struct gm_port *p, void *context, gm_status_t status)
void send_callback (struct gm_port *p, void *context, gm_status_t status)
void EnqueueOutgoingDgram (OutgoingMsg ogm, char *ptr, int len, OtherNode node, int rank, int broot)
void DeliverViaNetwork (OutgoingMsg ogm, OtherNode node, int rank, unsigned int broot, int copy)
static void send_callback_nothing (struct gm_port *p, void *context, gm_status_t status)
static void sendBarrierMessage (int pe)
static void recvBarrierMessage ()
int CmiBarrier ()
int CmiBarrierZero ()
void CmiMachineInit (char **argv)
void CmiCommunicationInit (char **argv)
void CmiMachineExit ()
void CmiGmConvertMachineID (unsigned int *mach_id)
void CmiCheckGmStatus ()
void * CmiDMAAlloc (int size)
int CmiRegisterMemory (void *addr, unsigned int size)
int CmiUnRegisterMemory (void *addr, unsigned int size)
void put_callback (struct gm_port *p, void *context, gm_status_t status)
void * CmiPut (unsigned int sourceId, unsigned int targetId, void *Saddr, void *Taddr, unsigned int size)
void CmiPutCb (unsigned int sourceId, unsigned int targetId, void *Saddr, void *Taddr, unsigned int size, CmiRdmaCallbackFn fn, void *param)
void get_callback_dest (struct gm_port *p, void *context, gm_status_t status)
void * CmiGet (unsigned int sourceId, unsigned int targetId, void *Saddr, void *Taddr, unsigned int size)
void CmiGetCb (unsigned int sourceId, unsigned int targetId, void *Saddr, void *Taddr, unsigned int size, CmiRdmaCallbackFn fn, void *param)
int CmiWaitTest (void *obj)

Variables

int getSrcHandler
int getDestHandler
static gm_alarm_t gmalarm
static FILE * gmf
static intgm_stats
static int possible_streamed = 0
static int defrag = 0
static int maxQueueLength = 0
static int pendinglen = 0
static PendingMsg pend_freelist = NULL
static char * msgpool [MAXMSGLEN]
static int msgNums = 0
static int maxMsgSize = 0
static int maxsize


Detailed Description

Myrinet API GM implementation of Converse NET version.

contains only GM API specific code for:

written by Gengbin Zheng, gzheng@uiuc.edu 4/22/2001

ChangeLog: 3/7/2004, Gengbin Zheng implemented fault tolerant gm layer. When GM detects a catastrophic error, it temporarily disables the delivery of all messages with the same sender port, target port, and priority as the message that experienced the error. This layer needs to properly handle the error message of GM and resume the port.

TODO: 1. DMAable buffer reuse;

Definition in file machine-gm.c.


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