[mpich2-commits] r6678 - in mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod: nd wintcp
jayesh at mcs.anl.gov
jayesh at mcs.anl.gov
Wed May 19 10:47:33 CDT 2010
Author: jayesh
Date: 2010-05-19 10:47:33 -0500 (Wed, 19 May 2010)
New Revision: 6678
Modified:
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_finalize.cpp
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_impl.h
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_init.cpp
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_sm.cpp
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_impl.h
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_init.c
Log:
As of r6648 the vc state is moved to the netmod private area. Updating the windows channels accordingly
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_finalize.cpp
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_finalize.cpp 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_finalize.cpp 2010-05-19 15:47:33 UTC (rev 6678)
@@ -84,7 +84,7 @@
vc_ch->next = NULL;
vc_ch->prev = NULL;
- vc_ch->state = MPID_NEM_VC_STATE_DISCONNECTED;
+ MPID_NEM_ND_VCCH_NETMOD_STATE_SET(vc, MPID_NEM_ND_VC_STATE_DISCONNECTED);
mpi_errno = MPID_Nem_nd_conn_disc(MPID_NEM_ND_VCCH_NETMOD_CONN_HND_GET(vc));
if(mpi_errno != MPI_SUCCESS) MPIU_ERR_POP(mpi_errno);
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_impl.h
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_impl.h 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_impl.h 2010-05-19 15:47:33 UTC (rev 6678)
@@ -211,6 +211,13 @@
};
#define MPID_NEM_ND_CONN_IS_CONNECTING(_conn_hnd) (_conn_hnd && ( (_conn_hnd->state > MPID_NEM_ND_CONN_QUIESCENT) && (_conn_hnd->state < MPID_NEM_ND_CONN_ACTIVE) ))
+
+/* VC states */
+typedef enum{
+ MPID_NEM_ND_VC_STATE_DISCONNECTED=0,
+ MPID_NEM_ND_VC_STATE_CONNECTED
+} MPID_Nem_nd_vc_state_t;
+
/* The vc provides a generic buffer in which network modules can store
private fields This removes all dependencies from the VC struct
on the network module */
@@ -224,6 +231,7 @@
struct MPID_Request *head;
struct MPID_Request *tail;
} pending_sendq;
+ MPID_Nem_nd_vc_state_t state;
} MPID_Nem_nd_vc_area;
#define MPID_NEM_ND_VCCH_GET_ACTIVE_RECV_REQ(_vc) (((MPIDI_CH3I_VC *)((_vc)->channel_private))->recv_active)
@@ -254,6 +262,8 @@
#define MPID_NEM_ND_VCCH_NETMOD_FIELD_GET(_vc, _field) (((MPID_Nem_nd_vc_area *)((MPIDI_CH3I_VC *)(_vc)->channel_private)->netmod_area.padding)->_field)
#define MPID_NEM_ND_VCCH_NETMOD_CONN_HND_SET(_vc, _conn_hnd) ((((MPID_Nem_nd_vc_area *)((MPIDI_CH3I_VC *)(_vc)->channel_private)->netmod_area.padding)->conn_hnd) = _conn_hnd)
#define MPID_NEM_ND_VCCH_NETMOD_CONN_HND_GET(_vc) (((MPID_Nem_nd_vc_area *)((MPIDI_CH3I_VC *)(_vc)->channel_private)->netmod_area.padding)->conn_hnd)
+#define MPID_NEM_ND_VCCH_NETMOD_STATE_SET(_vc, _state) ((((MPID_Nem_nd_vc_area *)((MPIDI_CH3I_VC *)(_vc)->channel_private)->netmod_area.padding)->state) = _state)
+#define MPID_NEM_ND_VCCH_NETMOD_STATE_GET(_vc) (((MPID_Nem_nd_vc_area *)((MPIDI_CH3I_VC *)(_vc)->channel_private)->netmod_area.padding)->state)
/* VC Netmod util funcs */
#define MPID_NEM_ND_VC_IS_CONNECTED(_vc) (\
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_init.cpp
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_init.cpp 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_init.cpp 2010-05-19 15:47:33 UTC (rev 6678)
@@ -75,7 +75,7 @@
vc->sendNoncontig_fn = MPID_Nem_nd_send_noncontig;
- vc_ch->state = MPID_NEM_VC_STATE_DISCONNECTED;
+ MPID_NEM_ND_VCCH_NETMOD_STATE_SET(vc, MPID_NEM_ND_VC_STATE_DISCONNECTED);
vc_ch->iStartContigMsg = MPID_Nem_nd_istart_contig_msg;
vc_ch->iSendContig = MPID_Nem_nd_send_contig;
vc_ch->next = NULL;
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_sm.cpp
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_sm.cpp 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/nd/nd_sm.cpp 2010-05-19 15:47:33 UTC (rev 6678)
@@ -1516,7 +1516,7 @@
vc = conn_hnd->vc;
vc_ch = (MPIDI_CH3I_VC *)vc->channel_private;
- vc_ch->state = MPID_NEM_VC_STATE_CONNECTED;
+ MPID_NEM_ND_VCCH_NETMOD_STATE_SET(vc, MPID_NEM_ND_VC_STATE_CONNECTED);
MPID_NEM_ND_CONN_STATE_SET(conn_hnd, MPID_NEM_ND_CONN_ACTIVE);
/* Repost recv buf */
@@ -1612,7 +1612,7 @@
vc_ch = (MPIDI_CH3I_VC *)vc->channel_private;
if(MPID_NEM_ND_CONN_HND_IS_VALID(MPID_NEM_ND_VCCH_NETMOD_CONN_HND_GET(vc))){
- if(vc_ch->state != MPID_NEM_VC_STATE_CONNECTED){
+ if(MPID_NEM_ND_VCCH_NETMOD_STATE_GET(vc) != MPID_NEM_ND_VC_STATE_CONNECTED){
/* VC is connecting - head-to-head scenario */
MPID_Nem_nd_conn_hnd_t old_conn_hnd = MPID_NEM_ND_VCCH_NETMOD_CONN_HND_GET(vc);
int old_conn_won_hh=0;
@@ -1745,7 +1745,7 @@
/* VC is now connected - send an ACK - CACK - to listen side */
vc = conn_hnd->vc;
vc_ch = (MPIDI_CH3I_VC *)vc->channel_private;
- vc_ch->state = MPID_NEM_VC_STATE_CONNECTED;
+ MPID_NEM_ND_VCCH_NETMOD_STATE_SET(vc, MPID_NEM_ND_VC_STATE_CONNECTED);
MPID_NEM_ND_CONN_STATE_SET(conn_hnd, MPID_NEM_ND_CONN_ACTIVE);
MPIU_Assert(!MSGBUF_FREEQ_IS_EMPTY(conn_hnd));
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c 2010-05-19 15:47:33 UTC (rev 6678)
@@ -1320,7 +1320,7 @@
}
/* --END ERROR HANDLING-- */
MPIDI_VC_Init(vc, NULL, 0);
- ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED; /* FIXME: is it needed ? */
+ VC_FIELD(vc, state) = MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED; /* FIXME: is it needed ? */
sc->vc = vc;
MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "about to incr sc_ref_count sc=%p sc->vc=%p sc_ref_count=%d", sc, sc->vc, VC_FIELD(sc->vc, sc_ref_count)));
++VC_FIELD(vc, sc_ref_count);
@@ -1443,7 +1443,7 @@
MPIDI_CHANGE_VC_STATE(vc, ACTIVE);
- if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED) {
+ if(VC_FIELD(vc, state) == MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED){
struct sockaddr_in *sock_addr;
struct in_addr addr;
@@ -1496,7 +1496,7 @@
mpi_errno = MPID_nem_newtcp_module_post_connect_ex(sc, sock_addr);
if(mpi_errno != MPI_SUCCESS) MPIU_ERR_POP(mpi_errno);
- ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED;
+ VC_FIELD(vc, state) = MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED;
sc->pg_rank = vc->pg_rank;
if (vc->pg != NULL) { /* normal (non-dynamic) connection */
if (IS_SAME_PGID(vc->pg->id, MPIDI_Process.my_pg->id)) {
@@ -1520,7 +1520,7 @@
MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "about to incr sc_ref_count sc=%p sc->vc=%p sc_ref_count=%d", sc, sc->vc, VC_FIELD(sc->vc, sc_ref_count)));
++VC_FIELD(vc, sc_ref_count);
}
- else if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED) {
+ else if(VC_FIELD(vc, state) == MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED){
sc = VC_FIELD(vc, sc);
MPIU_Assert(sc != NULL);
/* Do nothing here, the caller just needs to wait for the connection
@@ -1577,7 +1577,7 @@
if (sc->vc && VC_FIELD(sc->vc, sc) == sc) /* this vc may be connecting/accepting with another sc e.g., this sc lost
the tie-breaker */
{
- ((MPIDI_CH3I_VC *)sc->vc->channel_private)->state = MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED;
+ VC_FIELD(sc->vc, state) = MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED;
ASSIGN_SC_TO_VC(sc->vc, NULL);
}
sc->vc = NULL;
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_impl.h
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_impl.h 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_impl.h 2010-05-19 15:47:33 UTC (rev 6678)
@@ -37,10 +37,11 @@
extern MPID_nem_queue_ptr_t MPID_nem_process_free_queue;
extern int MPID_nem_newtcp_module_listen_fd;
+typedef enum{
+ MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED=0,
+ MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED
+} MPID_Nem_newtcp_module_vc_state_t;
-#define MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED 0
-#define MPID_NEM_NEWTCP_MODULE_VC_STATE_CONNECTED 1
-
extern char *MPID_nem_newtcp_module_recv_buf;
#define MPID_NEM_NEWTCP_MODULE_RECV_MAX_PKT_LEN 1024
#define MPID_NEM_NEWTCP_MODULE_RCVBUF_SZ (128*1024)
@@ -59,6 +60,7 @@
struct MPID_Request *tail;
} send_queue;
/* this is a count of how many sc objects refer to this vc */
+ MPID_Nem_newtcp_module_vc_state_t state;
int sc_ref_count;
} MPID_nem_newtcp_module_vc_area;
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_init.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_init.c 2010-05-18 20:42:19 UTC (rev 6677)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/wintcp_init.c 2010-05-19 15:47:33 UTC (rev 6678)
@@ -351,7 +351,7 @@
MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_NEWTCP_MODULE_VC_INIT);
- vc_ch->state = MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED;
+ VC_FIELD(vc, state) = MPID_NEM_NEWTCP_MODULE_VC_STATE_DISCONNECTED;
vc->sendNoncontig_fn = MPID_nem_newtcp_SendNoncontig;
vc_ch->iStartContigMsg = MPID_nem_newtcp_iStartContigMsg;
More information about the mpich2-commits
mailing list