Changeset 3763
- Timestamp:
- 01/29/09 20:11:30 (3 weeks ago)
- Files:
-
- mpich2/trunk/maint/createcoverage.in (modified) (1 diff)
- mpich2/trunk/src/mpi/errhan/errnames.txt (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/configure.in (modified) (4 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_finalize.c) (3 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_impl.h) (3 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_init.c) (11 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_poll.c) (5 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_register.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_register.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_send.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_test.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan_module/elan_module_test.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_finalize.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_getput.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_getput.c) (9 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_impl.h) (6 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_init.c) (14 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_lmt.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_lmt.c) (14 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_poll.c) (8 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_register.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_register.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_send.c) (9 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_test.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm_module/gm_module_test.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cell.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_cell.c) (11 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_ckpt_shutdown.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_ckpt_shutdown.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cm.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_cm.c) (10 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cm.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_cm.h) (4 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_connect_to_root.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_connect_to_root.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_device.h (modified) (3 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_finalize.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_get_bus_card.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_get_bus_card.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_impl.h) (4 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_init.c) (20 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_param.c (modified) (3 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_poll.c) (15 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_priv.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_priv.c) (18 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_priv.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_priv.h) (4 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_send.c) (16 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_utils.c (modified) (15 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_utils.h (modified) (4 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_vc_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_vc_finalize.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_vc_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib_module/ib_module_vc_init.c) (4 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_finalize.c) (3 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_impl.h) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_init.c) (11 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_poll.c) (5 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_register.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_register.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_send.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_test.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx_module/mx_module_test.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none/none.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none_module/none_module.c) (1 diff, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_finalize.c) (3 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_getput.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_getput.c) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_impl.h) (3 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_init.c) (14 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_lmt.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_lmt.c) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_poll.c) (6 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_register.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_register.c) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_send.c) (2 diffs, 1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_test.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm_module/psm_module_test.c) (1 prop)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/Makefile.sm (modified) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/socksm.c (modified) (65 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/socksm.h (modified) (7 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_finalize.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_finalize.c) (2 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_getip.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_getip.c) (1 diff)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_impl.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_impl.h) (9 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_init.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_init.c) (18 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_poll.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_poll.c) (3 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_queue.h (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_queue.h) (2 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_send.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_send.c) (20 diffs)
- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_utility.c (moved) (moved from mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp_module/tcp_module_utility.c) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
mpich2/trunk/maint/createcoverage.in
r3751 r3763 209 209 ch3:nemesis) 210 210 # FIXME: Add the other directories 211 devsrcdirs="src/mpid/ch3/channels/nemesis/src src/mpid/ch3/src src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp _modulesrc/mpid/ch3/channels/nemesis/nemesis/src"211 devsrcdirs="src/mpid/ch3/channels/nemesis/src src/mpid/ch3/src src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp src/mpid/ch3/channels/nemesis/nemesis/src" 212 212 extra_opts="$extra_opts --enable-nemesis-dbg-localoddeven" 213 213 ;; mpich2/trunk/src/mpi/errhan/errnames.txt
r3699 r3763 901 901 **cookiepkt:failure occurred while attempting to send COOKIE packet 902 902 **donepkt:failure occurred while attempting to send DONE packet 903 **psm_ module_connect:psm_module_connect failed904 **psm_ module_connect %d: psm_module_connect failed (%d)903 **psm_connect:psm_connect failed 904 **psm_connect %d: psm_connect failed (%d) 905 905 **decode_buffer:decode_buffer failed 906 906 **decode_buffer %d:decode_buffer failed (%d) mpich2/trunk/src/mpid/ch3/channels/nemesis/configure.in
r3751 r3763 179 179 for net in $nemesis_networks ; do 180 180 181 if test ! -d $srcdir/nemesis/net_mod/${net} _module; then182 AC_MSG_ERROR([Network module ${net} is unknown $srcdir/nemesis/net_mod/${net} _module])181 if test ! -d $srcdir/nemesis/net_mod/${net} ; then 182 AC_MSG_ERROR([Network module ${net} is unknown $srcdir/nemesis/net_mod/${net} ]) 183 183 fi 184 184 net_macro=`echo $net | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` 185 net_macro="MPIDI_NEM_${net_macro} _MODULE"185 net_macro="MPIDI_NEM_${net_macro}" 186 186 187 187 if test -z "$nemesis_nets_array" ; then … … 198 198 199 199 if test -z "$nemesis_nets_dirs" ; then 200 nemesis_nets_dirs="${net} _module"201 else 202 nemesis_nets_dirs="$nemesis_nets_dirs ${net} _module"200 nemesis_nets_dirs="${net}" 201 else 202 nemesis_nets_dirs="$nemesis_nets_dirs ${net}" 203 203 fi 204 204 205 205 if test -z "$nemesis_nets_func_decl" ; then 206 nemesis_nets_func_decl="MPIDI_nem_${net}_ module_funcs"207 else 208 nemesis_nets_func_decl="${nemesis_nets_func_decl}, MPIDI_nem_${net}_ module_funcs"206 nemesis_nets_func_decl="MPIDI_nem_${net}_funcs" 207 else 208 nemesis_nets_func_decl="${nemesis_nets_func_decl}, MPIDI_nem_${net}_funcs" 209 209 fi 210 210 211 211 if test -z "$nemesis_nets_func_array" ; then 212 nemesis_nets_func_array="&MPIDI_nem_${net}_ module_funcs"213 else 214 nemesis_nets_func_array="${nemesis_nets_func_array}, &MPIDI_nem_${net}_ module_funcs"212 nemesis_nets_func_array="&MPIDI_nem_${net}_funcs" 213 else 214 nemesis_nets_func_array="${nemesis_nets_func_array}, &MPIDI_nem_${net}_funcs" 215 215 fi 216 216 … … 277 277 case "${nemesis_network}" in 278 278 elan ) 279 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_ELAN _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;279 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_ELAN, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 280 280 gm ) 281 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_GM _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;281 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_GM, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 282 282 mx ) 283 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_MX _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;283 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_MX, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 284 284 tcp ) 285 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_TCP _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;285 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_TCP, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 286 286 ib ) 287 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_IB _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;287 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_IB, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 288 288 psm ) 289 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_PSM _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;289 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_PSM, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 290 290 * ) 291 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_NO _MODULE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;;291 AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_NONE, [Choose elan, gm, mx, tcp, ib, psm, or no network]) ;; 292 292 esac 293 293 … … 521 521 PAC_SUBCONFIG_FINALIZE() 522 522 523 AC_OUTPUT(Makefile src/Makefile nemesis/Makefile nemesis/src/Makefile nemesis/utils/Makefile nemesis/utils/replacements/Makefile nemesis/utils/monitor/Makefile nemesis/net_mod/Makefile nemesis/net_mod/elan _module/Makefile nemesis/net_mod/gm_module/Makefile nemesis/net_mod/mx_module/Makefile nemesis/net_mod/tcp_module/Makefile nemesis/net_mod/ib_module/Makefile nemesis/net_mod/psm_module/Makefile nemesis/net_mod/none_module/Makefile localdefs nemesis/include/mpid_nem_net_module_defs.h nemesis/src/mpid_nem_net_array.c)523 AC_OUTPUT(Makefile src/Makefile nemesis/Makefile nemesis/src/Makefile nemesis/utils/Makefile nemesis/utils/replacements/Makefile nemesis/utils/monitor/Makefile nemesis/net_mod/Makefile nemesis/net_mod/elan/Makefile nemesis/net_mod/gm/Makefile nemesis/net_mod/mx/Makefile nemesis/net_mod/tcp/Makefile nemesis/net_mod/ib/Makefile nemesis/net_mod/psm/Makefile nemesis/net_mod/none/Makefile localdefs nemesis/include/mpid_nem_net_module_defs.h nemesis/src/mpid_nem_net_array.c) mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/Makefile.sm
r3751 r3763 1 SUBDIRS_nemesis_nets_dirs = elan _module gm_module mx_module tcp_module ib_module none_module psm_module1 SUBDIRS_nemesis_nets_dirs = elan gm mx tcp ib none psm 2 2 SUBDIRS = @nemesis_nets_dirs@ 3 3 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/Makefile.sm
r188 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 elan_ module_finalize.c elan_module_init.c elan_module_poll.c elan_module_send.c \5 elan_ module_register.c elan_module_test.c4 elan_finalize.c elan_init.c elan_poll.c elan_send.c \ 5 elan_register.c elan_test.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_finalize.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "elan_ module_impl.h"7 #include "elan_impl.h" 8 8 #include <elan/elan.h> 9 9 10 10 11 11 #undef FUNCNAME 12 #define FUNCNAME MPID_nem_elan_ module_finalize12 #define FUNCNAME MPID_nem_elan_finalize 13 13 #undef FCNAME 14 14 #define FCNAME MPIDI_QUOTE(FUNCNAME) 15 15 int 16 MPID_nem_elan_ module_finalize()16 MPID_nem_elan_finalize() 17 17 { 18 18 int mpi_errno = MPI_SUCCESS; … … 22 22 while ( !MPID_nem_elan_event_queue_empty(MPID_nem_module_elan_pending_event_queue)) 23 23 { 24 MPID_nem_elan_ module_poll(MPID_NEM_POLL_OUT);24 MPID_nem_elan_poll(MPID_NEM_POLL_OUT); 25 25 } 26 26 … … 42 42 43 43 #undef FUNCNAME 44 #define FUNCNAME MPID_nem_elan_ module_ckpt_shutdown44 #define FUNCNAME MPID_nem_elan_ckpt_shutdown 45 45 #undef FCNAME 46 46 #define FCNAME MPIDI_QUOTE(FUNCNAME) 47 47 int 48 MPID_nem_elan_ module_ckpt_shutdown ()48 MPID_nem_elan_ckpt_shutdown () 49 49 { 50 50 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_impl.h
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #ifndef ELAN_ MODULE_IMPL_H8 #define ELAN_ MODULE_IMPL_H7 #ifndef ELAN_IMPL_H 8 #define ELAN_IMPL_H 9 9 10 10 #include <elan/elan.h> 11 11 #include "mpid_nem_impl.h" 12 12 13 int MPID_nem_elan_ module_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements,13 int MPID_nem_elan_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, 14 14 int num_proc_elements, MPID_nem_cell_ptr_t module_elements, int num_module_elements, 15 15 MPID_nem_queue_ptr_t *module_free_queue, int ckpt_restart, 16 16 MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p); 17 int MPID_nem_elan_ module_finalize (void);18 int MPID_nem_elan_ module_ckpt_shutdown (void);19 int MPID_nem_elan_ module_poll(MPID_nem_poll_dir_t in_or_out);20 int MPID_nem_elan_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);21 int MPID_nem_elan_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);22 int MPID_nem_elan_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);23 int MPID_nem_elan_ module_vc_init (MPIDI_VC_t *vc);24 int MPID_nem_elan_ module_vc_destroy(MPIDI_VC_t *vc);25 int MPID_nem_elan_ module_vc_terminate (MPIDI_VC_t *vc);17 int MPID_nem_elan_finalize (void); 18 int MPID_nem_elan_ckpt_shutdown (void); 19 int MPID_nem_elan_poll(MPID_nem_poll_dir_t in_or_out); 20 int MPID_nem_elan_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 21 int MPID_nem_elan_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 22 int MPID_nem_elan_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 23 int MPID_nem_elan_vc_init (MPIDI_VC_t *vc); 24 int MPID_nem_elan_vc_destroy(MPIDI_VC_t *vc); 25 int MPID_nem_elan_vc_terminate (MPIDI_VC_t *vc); 26 26 27 int MPID_nem_elan_ module_test (void);27 int MPID_nem_elan_test (void); 28 28 29 int MPID_mem_elan_ module_register_mem (void *p, int len);30 int MPID_nem_elan_ module_deregister_mem (void *p, int len);29 int MPID_mem_elan_register_mem (void *p, int len); 30 int MPID_nem_elan_deregister_mem (void *p, int len); 31 31 32 32 /* completion counter is atomically decremented when operation completes */ 33 int MPID_nem_elan_ module_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr);34 int MPID_nem_elan_ module_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr);33 int MPID_nem_elan_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr); 34 int MPID_nem_elan_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr); 35 35 36 36 /* large message transfer functions */ 37 int MPID_nem_elan_ module_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie);38 int MPID_nem_elan_ module_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie);39 int MPID_nem_elan_ module_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);40 int MPID_nem_elan_ module_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);41 int MPID_nem_elan_ module_lmt_send_post (struct iovec cookie);42 int MPID_nem_elan_ module_lmt_recv_post (struct iovec cookie);37 int MPID_nem_elan_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie); 38 int MPID_nem_elan_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie); 39 int MPID_nem_elan_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 40 int MPID_nem_elan_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 41 int MPID_nem_elan_lmt_send_post (struct iovec cookie); 42 int MPID_nem_elan_lmt_recv_post (struct iovec cookie); 43 43 44 44 … … 63 63 void *rxq_ptr_array; 64 64 int vpid; 65 } MPID_nem_elan_ module_vc_area;65 } MPID_nem_elan_vc_area; 66 66 67 67 /* accessor macro to private fields in VC */ 68 #define VC_FIELD(vc, field) (((MPID_nem_elan_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)68 #define VC_FIELD(vc, field) (((MPID_nem_elan_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 69 69 70 70 typedef struct MPID_nem_elan_cell … … 143 143 extern MPID_nem_queue_ptr_t MPID_nem_process_free_queue; 144 144 145 #endif /*ELAN_ MODULE_IMPL_H */145 #endif /*ELAN_IMPL_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_init.c
- Property svn:mergeinfo set
r3391 r3763 11 11 #include "mpidimpl.h" 12 12 #include "mpid_nem_impl.h" 13 #include "elan_ module_impl.h"14 15 MPID_nem_netmod_funcs_t MPIDI_nem_elan_ module_funcs = {16 MPID_nem_elan_ module_init,17 MPID_nem_elan_ module_finalize,18 MPID_nem_elan_ module_ckpt_shutdown,19 MPID_nem_elan_ module_poll,20 MPID_nem_elan_ module_send,21 MPID_nem_elan_ module_get_business_card,22 MPID_nem_elan_ module_connect_to_root,23 MPID_nem_elan_ module_vc_init,24 MPID_nem_elan_ module_vc_destroy,25 MPID_nem_elan_ module_vc_terminate13 #include "elan_impl.h" 14 15 MPID_nem_netmod_funcs_t MPIDI_nem_elan_funcs = { 16 MPID_nem_elan_init, 17 MPID_nem_elan_finalize, 18 MPID_nem_elan_ckpt_shutdown, 19 MPID_nem_elan_poll, 20 MPID_nem_elan_send, 21 MPID_nem_elan_get_business_card, 22 MPID_nem_elan_connect_to_root, 23 MPID_nem_elan_vc_init, 24 MPID_nem_elan_vc_destroy, 25 MPID_nem_elan_vc_terminate 26 26 }; 27 27 … … 234 234 /* 235 235 int 236 MPID_nem_elan_ module_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements,236 MPID_nem_elan_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, 237 237 MPID_nem_cell_ptr_t module_elements, int num_module_elements, 238 238 MPID_nem_queue_ptr_t *module_free_queue) … … 253 253 254 254 #undef FUNCNAME 255 #define FUNCNAME MPID_nem_ mx_module_init255 #define FUNCNAME MPID_nem_elan_init 256 256 #undef FCNAME 257 257 #define FCNAME MPIDI_QUOTE(FUNCNAME) 258 258 int 259 MPID_nem_elan_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,259 MPID_nem_elan_init (MPID_nem_queue_ptr_t proc_recv_queue, 260 260 MPID_nem_queue_ptr_t proc_free_queue, 261 261 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, … … 269 269 270 270 /* first make sure that our private fields in the vc fit into the area provided */ 271 MPIU_Assert(sizeof(MPID_nem_elan_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);271 MPIU_Assert(sizeof(MPID_nem_elan_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 272 272 273 273 if( MPID_nem_mem_region.ext_procs > 0) 274 274 { 275 275 init_elan(pg_p); 276 mpi_errno = MPID_nem_elan_ module_get_business_card (pg_rank, bc_val_p, val_max_sz_p);276 mpi_errno = MPID_nem_elan_get_business_card (pg_rank, bc_val_p, val_max_sz_p); 277 277 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 278 278 } … … 297 297 298 298 #undef FUNCNAME 299 #define FUNCNAME MPID_nem_elan_ module_get_business_card299 #define FUNCNAME MPID_nem_elan_get_business_card 300 300 #undef FCNAME 301 301 #define FCNAME MPIDI_QUOTE(FUNCNAME) 302 302 int 303 MPID_nem_elan_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p)303 MPID_nem_elan_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p) 304 304 { 305 305 int mpi_errno = MPI_SUCCESS; … … 343 343 344 344 #undef FUNCNAME 345 #define FUNCNAME MPID_nem_elan_ module_get_from_bc345 #define FUNCNAME MPID_nem_elan_get_from_bc 346 346 #undef FCNAME 347 347 #define FCNAME MPIDI_QUOTE(FUNCNAME) 348 348 int 349 MPID_nem_elan_ module_get_from_bc (const char *business_card,ELAN_QUEUE **remoteq_ptr, int *vpid)349 MPID_nem_elan_get_from_bc (const char *business_card,ELAN_QUEUE **remoteq_ptr, int *vpid) 350 350 { 351 351 int mpi_errno = MPI_SUCCESS; … … 375 375 376 376 #undef FUNCNAME 377 #define FUNCNAME MPID_nem_elan_ module_connect_to_root377 #define FUNCNAME MPID_nem_elan_connect_to_root 378 378 #undef FCNAME 379 379 #define FCNAME MPIDI_QUOTE(FUNCNAME) 380 380 int 381 MPID_nem_elan_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc)381 MPID_nem_elan_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc) 382 382 { 383 383 int mpi_errno = MPI_SUCCESS; … … 389 389 390 390 #undef FUNCNAME 391 #define FUNCNAME MPID_nem_elan_ module_vc_init391 #define FUNCNAME MPID_nem_elan_vc_init 392 392 #undef FCNAME 393 393 #define FCNAME MPIDI_QUOTE(FUNCNAME) 394 394 int 395 MPID_nem_elan_ module_vc_init (MPIDI_VC_t *vc, const char *business_card)395 MPID_nem_elan_vc_init (MPIDI_VC_t *vc, const char *business_card) 396 396 { 397 397 int mpi_errno = MPI_SUCCESS; … … 402 402 int vpid; 403 403 404 mpi_errno = MPID_nem_elan_ module_get_from_bc (business_card, &remoteq_ptr, &vpid);404 mpi_errno = MPID_nem_elan_get_from_bc (business_card, &remoteq_ptr, &vpid); 405 405 /* --BEGIN ERROR HANDLING-- */ 406 406 if (mpi_errno) … … 423 423 424 424 #undef FUNCNAME 425 #define FUNCNAME MPID_nem_elan_ module_vc_destroy426 #undef FCNAME 427 #define FCNAME MPIDI_QUOTE(FUNCNAME) 428 int MPID_nem_elan_ module_vc_destroy(MPIDI_VC_t *vc)425 #define FUNCNAME MPID_nem_elan_vc_destroy 426 #undef FCNAME 427 #define FCNAME MPIDI_QUOTE(FUNCNAME) 428 int MPID_nem_elan_vc_destroy(MPIDI_VC_t *vc) 429 429 { 430 430 int mpi_errno = MPI_SUCCESS; … … 436 436 437 437 #undef FUNCNAME 438 #define FUNCNAME MPID_nem_elan_ module_vc_terminate439 #undef FCNAME 440 #define FCNAME MPIDI_QUOTE(FUNCNAME) 441 int MPID_nem_elan_ module_vc_terminate (MPIDI_VC_t *vc)438 #define FUNCNAME MPID_nem_elan_vc_terminate 439 #undef FCNAME 440 #define FCNAME MPIDI_QUOTE(FUNCNAME) 441 int MPID_nem_elan_vc_terminate (MPIDI_VC_t *vc) 442 442 { 443 443 return MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_poll.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "elan_ module_impl.h"7 #include "elan_impl.h" 8 8 #include <elan/elan.h> 9 9 #include "my_papi_defs.h" … … 35 35 36 36 #undef FUNCNAME 37 #define FUNCNAME MPID_nem_elan_ module_send_from_queue37 #define FUNCNAME MPID_nem_elan_send_from_queue 38 38 #undef FCNAME 39 39 #define FCNAME MPIDI_QUOTE(FUNCNAME) 40 40 inline int 41 MPID_nem_elan_ module_send_from_queue( void )41 MPID_nem_elan_send_from_queue( void ) 42 42 { 43 43 int mpi_errno = MPI_SUCCESS; … … 95 95 96 96 #undef FUNCNAME 97 #define FUNCNAME MPID_nem_elan_ module_recv97 #define FUNCNAME MPID_nem_elan_recv 98 98 #undef FCNAME 99 99 #define FCNAME MPIDI_QUOTE(FUNCNAME) 100 100 inline int 101 MPID_nem_elan_ module_recv( void )101 MPID_nem_elan_recv( void ) 102 102 { 103 103 int mpi_errno = MPI_SUCCESS; … … 120 120 121 121 #undef FUNCNAME 122 #define FUNCNAME MPID_nem_elan_ module_poll122 #define FUNCNAME MPID_nem_elan_poll 123 123 #undef FCNAME 124 124 #define FCNAME MPIDI_QUOTE(FUNCNAME) 125 125 int 126 MPID_nem_elan_ module_poll(MPID_nem_poll_dir_t in_or_out)126 MPID_nem_elan_poll(MPID_nem_poll_dir_t in_or_out) 127 127 { 128 128 int mpi_errno = MPI_SUCCESS; … … 132 132 if (in_or_out == MPID_NEM_POLL_OUT) 133 133 { 134 MPID_nem_elan_ module_send_from_queue();135 MPID_nem_elan_ module_recv();134 MPID_nem_elan_send_from_queue(); 135 MPID_nem_elan_recv(); 136 136 } 137 137 else 138 138 { 139 MPID_nem_elan_ module_recv();140 MPID_nem_elan_ module_send_from_queue();139 MPID_nem_elan_recv(); 140 MPID_nem_elan_send_from_queue(); 141 141 } 142 142 } mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_register.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "elan_ module_impl.h"7 #include "elan_impl.h" 8 8 #include <elan/elan.h> 9 9 10 10 int 11 MPID_nem_elan_ module_register_mem (void *p, int len)11 MPID_nem_elan_register_mem (void *p, int len) 12 12 { 13 13 return 0; … … 15 15 16 16 int 17 MPID_nem_elan_ module_deregister_mem (void *p, int len)17 MPID_nem_elan_deregister_mem (void *p, int len) 18 18 { 19 19 return 0; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_send.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "elan_ module_impl.h"7 #include "elan_impl.h" 8 8 #include <elan/elan.h> 9 9 #include "my_papi_defs.h" … … 11 11 12 12 #undef FUNCNAME 13 #define FUNCNAME MPID_nem_elan_ module_send13 #define FUNCNAME MPID_nem_elan_send 14 14 #undef FCNAME 15 15 #define FCNAME MPIDI_QUOTE(FUNCNAME) 16 16 int 17 MPID_nem_elan_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)17 MPID_nem_elan_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen) 18 18 { 19 19 MPID_nem_elan_cell_ptr_t elan_event_cell; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/elan/elan_test.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "elan_ module_impl.h"7 #include "elan_impl.h" 8 8 #include <elan/elan.h> 9 9 10 10 int 11 MPID_nem_ mx_module_test()11 MPID_nem_elan_test() 12 12 { 13 13 return 0; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/Makefile.sm
r100 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 gm_ module_finalize.c gm_module_init.c gm_module_poll.c gm_module_send.c \5 gm_ module_getput.c gm_module_lmt.c gm_module_register.c gm_module_test.c4 gm_finalize.c gm_init.c gm_poll.c gm_send.c \ 5 gm_getput.c gm_lmt.c gm_register.c gm_test.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_finalize.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 #undef FUNCNAME 10 #define FUNCNAME MPID_nem_gm_ module_finalize10 #define FUNCNAME MPID_nem_gm_finalize 11 11 #undef FCNAME 12 12 #define FCNAME MPIDI_QUOTE(FUNCNAME) 13 13 int 14 MPID_nem_gm_ module_finalize()14 MPID_nem_gm_finalize() 15 15 { 16 16 int mpi_errno = MPI_SUCCESS; 17 17 int max_send_tokens; 18 MPID_nem_gm_ module_send_queue_t *e;18 MPID_nem_gm_send_queue_t *e; 19 19 20 20 max_send_tokens = gm_num_send_tokens (MPID_nem_module_gm_port); 21 21 22 while (MPID_nem_module_gm_num_send_tokens < max_send_tokens && !MPID_nem_gm_ module_queue_empty (send))22 while (MPID_nem_module_gm_num_send_tokens < max_send_tokens && !MPID_nem_gm_queue_empty (send)) 23 23 { 24 mpi_errno = MPID_nem_gm_ module_recv_poll();24 mpi_errno = MPID_nem_gm_recv_poll(); 25 25 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 26 26 } 27 27 28 while (MPID_nem_gm_ module_send_free_queue)28 while (MPID_nem_gm_send_free_queue) 29 29 { 30 e = MPID_nem_gm_ module_send_free_queue;31 MPID_nem_gm_ module_send_free_queue = e->next;30 e = MPID_nem_gm_send_free_queue; 31 MPID_nem_gm_send_free_queue = e->next; 32 32 MPIU_Free (e); 33 33 } 34 34 35 mpi_errno = MPID_nem_gm_ module_lmt_finalize();35 mpi_errno = MPID_nem_gm_lmt_finalize(); 36 36 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 37 37 … … 45 45 46 46 #undef FUNCNAME 47 #define FUNCNAME MPID_nem_gm_ module_ckpt_shutdown47 #define FUNCNAME MPID_nem_gm_ckpt_shutdown 48 48 #undef FCNAME 49 49 #define FCNAME MPIDI_QUOTE(FUNCNAME) 50 50 int 51 MPID_nem_gm_ module_ckpt_shutdown ()51 MPID_nem_gm_ckpt_shutdown () 52 52 { 53 53 /* for GM we can't touch the network because the original process is still using it */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_getput.c
- Property svn:mergeinfo set
r2924 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 static void … … 22 22 23 23 int 24 MPID_nem_gm_ module_do_get (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr)24 MPID_nem_gm_do_get (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr) 25 25 { 26 26 /* gm_get (MPID_nem_module_gm_port, (long)source_p, target_p, len, GM_LOW_PRIORITY, node_id, port_id, getput_callback, completion_ctr); */ … … 31 31 32 32 int 33 MPID_nem_gm_ module_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr)33 MPID_nem_gm_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr) 34 34 { 35 35 int ret; … … 59 59 if (MPID_nem_module_gm_num_send_tokens) 60 60 { 61 MPID_nem_gm_ module_do_get (target_p, source_p, len, VC_FIELD(source_vc, gm_node_id), VC_FIELD(source_vc, gm_port_id), completion_ctr);61 MPID_nem_gm_do_get (target_p, source_p, len, VC_FIELD(source_vc, gm_node_id), VC_FIELD(source_vc, gm_port_id), completion_ctr); 62 62 } 63 63 else 64 64 { 65 MPID_nem_gm_ module_send_queue_t *e = MPID_nem_gm_module_queue_alloc (send);65 MPID_nem_gm_send_queue_t *e = MPID_nem_gm_queue_alloc (send); 66 66 67 67 e->type = SEND_TYPE_RDMA; … … 73 73 e->port_id = VC_FIELD(source_vc, gm_port_id); 74 74 e->u.rdma.completion_ctr = completion_ctr; 75 MPID_nem_gm_ module_queue_enqueue (send, e);75 MPID_nem_gm_queue_enqueue (send, e); 76 76 } 77 77 … … 80 80 81 81 int 82 MPID_nem_gm_ module_do_put (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr)82 MPID_nem_gm_do_put (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr) 83 83 { 84 84 /* gm_put (MPID_nem_module_gm_port, source_p, (long)target_p, len, GM_LOW_PRIORITY, node_id, port_id, getput_callback, completion_ctr); */ … … 89 89 90 90 int 91 MPID_nem_gm_ module_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr)91 MPID_nem_gm_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr) 92 92 { 93 93 int ret; … … 104 104 if (MPID_nem_module_gm_num_send_tokens) 105 105 { 106 MPID_nem_gm_ module_do_put (target_p, source_p, len, VC_FIELD(target_vc, gm_node_id), VC_FIELD(target_vc, gm_port_id), completion_ctr);106 MPID_nem_gm_do_put (target_p, source_p, len, VC_FIELD(target_vc, gm_node_id), VC_FIELD(target_vc, gm_port_id), completion_ctr); 107 107 } 108 108 else 109 109 { 110 MPID_nem_gm_ module_send_queue_t *e = MPID_nem_gm_module_queue_alloc (send);110 MPID_nem_gm_send_queue_t *e = MPID_nem_gm_queue_alloc (send); 111 111 112 112 e->type = SEND_TYPE_RDMA; … … 118 118 e->port_id = VC_FIELD(target_vc, gm_port_id); 119 119 e->u.rdma.completion_ctr = completion_ctr; 120 MPID_nem_gm_ module_queue_enqueue (send, e);120 MPID_nem_gm_queue_enqueue (send, e); 121 121 } 122 122 return 0; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_impl.h
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #ifndef GM_ MODULE_IMPL_H8 #define GM_ MODULE_IMPL_H7 #ifndef GM_IMPL_H 8 #define GM_IMPL_H 9 9 #include <gm.h> 10 10 #include "mpid_nem_impl.h" … … 33 33 extern MPID_nem_queue_ptr_t MPID_nem_process_free_queue; 34 34 35 int MPID_nem_gm_ module_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements,35 int MPID_nem_gm_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, 36 36 int num_proc_elements, MPID_nem_cell_ptr_t module_elements, int num_module_elements, 37 37 MPID_nem_queue_ptr_t *module_free_queue, int ckpt_restart, 38 38 MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p); 39 int MPID_nem_gm_ module_finalize (void);40 int MPID_nem_gm_ module_ckpt_shutdown (void);41 int MPID_nem_gm_ module_poll (MPID_nem_poll_dir_t in_or_out);42 int MPID_nem_gm_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);43 int MPID_nem_gm_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);44 int MPID_nem_gm_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);45 int MPID_nem_gm_ module_vc_init (MPIDI_VC_t *vc);46 int MPID_nem_gm_ module_vc_destroy(MPIDI_VC_t *vc);47 int MPID_nem_gm_ module_vc_terminate (MPIDI_VC_t *vc);48 49 int MPID_nem_gm_ module_test (void);50 51 int MPID_mem_gm_ module_register_mem (void *p, int len);52 int MPID_nem_gm_ module_deregister_mem (void *p, int len);39 int MPID_nem_gm_finalize (void); 40 int MPID_nem_gm_ckpt_shutdown (void); 41 int MPID_nem_gm_poll (MPID_nem_poll_dir_t in_or_out); 42 int MPID_nem_gm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 43 int MPID_nem_gm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 44 int MPID_nem_gm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 45 int MPID_nem_gm_vc_init (MPIDI_VC_t *vc); 46 int MPID_nem_gm_vc_destroy(MPIDI_VC_t *vc); 47 int MPID_nem_gm_vc_terminate (MPIDI_VC_t *vc); 48 49 int MPID_nem_gm_test (void); 50 51 int MPID_mem_gm_register_mem (void *p, int len); 52 int MPID_nem_gm_deregister_mem (void *p, int len); 53 53 54 54 /* completion counter is atomically decremented when operation completes */ 55 int MPID_nem_gm_ module_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr);56 int MPID_nem_gm_ module_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr);55 int MPID_nem_gm_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr); 56 int MPID_nem_gm_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr); 57 57 58 58 /* large message transfer functions */ 59 int MPID_nem_gm_ module_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie);60 int MPID_nem_gm_ module_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie);61 int MPID_nem_gm_ module_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);62 int MPID_nem_gm_ module_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);63 int MPID_nem_gm_ module_lmt_send_post (struct iovec cookie);64 int MPID_nem_gm_ module_lmt_recv_post (struct iovec cookie);65 66 int MPID_nem_gm_ module_recv_poll();67 inline int MPID_nem_gm_ module_recv();59 int MPID_nem_gm_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie); 60 int MPID_nem_gm_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie); 61 int MPID_nem_gm_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 62 int MPID_nem_gm_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 63 int MPID_nem_gm_lmt_send_post (struct iovec cookie); 64 int MPID_nem_gm_lmt_recv_post (struct iovec cookie); 65 66 int MPID_nem_gm_recv_poll(); 67 inline int MPID_nem_gm_recv(); 68 68 inline int MPID_nem_send_from_queue(); 69 69 70 int MPID_nem_gm_ module_recv_init();71 72 int MPID_nem_gm_ module_lmt_init();73 int MPID_nem_gm_ module_lmt_finalize();74 int MPID_nem_gm_ module_lmt_do_get (int node_id, int port_id, struct iovec **r_iov, int *r_n_iov, int *r_offset, struct iovec **s_iov, int *s_n_iov,70 int MPID_nem_gm_recv_init(); 71 72 int MPID_nem_gm_lmt_init(); 73 int MPID_nem_gm_lmt_finalize(); 74 int MPID_nem_gm_lmt_do_get (int node_id, int port_id, struct iovec **r_iov, int *r_n_iov, int *r_offset, struct iovec **s_iov, int *s_n_iov, 75 75 int *s_offset, int *compl_ctr); 76 76 77 77 /* these perform the gm_put or gm_get call, there must be at least one send token */ 78 /* called by MPID_nem_gm_ module_put and _get and by polling functions */79 int MPID_nem_gm_ module_do_put (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr);80 int MPID_nem_gm_ module_do_get (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr);78 /* called by MPID_nem_gm_put and _get and by polling functions */ 79 int MPID_nem_gm_do_put (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr); 80 int MPID_nem_gm_do_get (void *target_p, void *source_p, int len, int node_id, int port_id, int *completion_ctr); 81 81 82 82 /* gm module packet */ … … 98 98 unsigned source_id; 99 99 unsigned char gm_unique_id[6]; /* GM unique id length is 6 bytes. GM doesn't define a constant. */ 100 } MPID_nem_gm_ module_vc_area;100 } MPID_nem_gm_vc_area; 101 101 102 102 /* accessor macro to private fields in VC */ 103 #define VC_FIELD(vc, field) (((MPID_nem_gm_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)103 #define VC_FIELD(vc, field) (((MPID_nem_gm_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 104 104 105 105 106 106 /* lmt queues */ 107 107 108 typedef struct MPID_nem_gm_ module_lmt_queue108 typedef struct MPID_nem_gm_lmt_queue 109 109 { 110 110 int node_id; … … 117 117 int s_offset; 118 118 int *compl_ctr; 119 struct MPID_nem_gm_ module_lmt_queue *next;120 } 121 MPID_nem_gm_ module_lmt_queue_t;122 123 typedef struct MPID_nem_gm_ module_lmt_queue_head124 { 125 MPID_nem_gm_ module_lmt_queue_t *head;126 MPID_nem_gm_ module_lmt_queue_t *tail;127 } 128 MPID_nem_gm_ module_lmt_queue_head_t;129 130 extern MPID_nem_gm_ module_lmt_queue_head_t MPID_nem_gm_module_lmt_queue;131 extern MPID_nem_gm_ module_lmt_queue_t *MPID_nem_gm_module_lmt_free_queue;132 133 134 135 typedef struct MPID_nem_gm_ module_rdma_desc119 struct MPID_nem_gm_lmt_queue *next; 120 } 121 MPID_nem_gm_lmt_queue_t; 122 123 typedef struct MPID_nem_gm_lmt_queue_head 124 { 125 MPID_nem_gm_lmt_queue_t *head; 126 MPID_nem_gm_lmt_queue_t *tail; 127 } 128 MPID_nem_gm_lmt_queue_head_t; 129 130 extern MPID_nem_gm_lmt_queue_head_t MPID_nem_gm_lmt_queue; 131 extern MPID_nem_gm_lmt_queue_t *MPID_nem_gm_lmt_free_queue; 132 133 134 135 typedef struct MPID_nem_gm_rdma_desc 136 136 { 137 137 enum {RDMA_TYPE_PUT, RDMA_TYPE_GET} type; … … 141 141 int *completion_ctr; 142 142 } 143 MPID_nem_gm_ module_rdma_desc_t;144 145 typedef struct MPID_nem_gm_ module_send_queue146 { 147 struct MPID_nem_gm_ module_send_queue *next;143 MPID_nem_gm_rdma_desc_t; 144 145 typedef struct MPID_nem_gm_send_queue 146 { 147 struct MPID_nem_gm_send_queue *next; 148 148 int node_id; 149 149 int port_id; … … 152 152 { 153 153 MPID_nem_cell_t *cell; 154 MPID_nem_gm_ module_rdma_desc_t rdma;154 MPID_nem_gm_rdma_desc_t rdma; 155 155 } u; 156 156 } 157 MPID_nem_gm_ module_send_queue_t;158 159 typedef struct MPID_nem_gm_ module_send_queue_head160 { 161 MPID_nem_gm_ module_send_queue_t *head;162 MPID_nem_gm_ module_send_queue_t *tail;163 } 164 MPID_nem_gm_ module_send_queue_head_t;165 166 extern MPID_nem_gm_ module_send_queue_head_t MPID_nem_gm_module_send_queue;167 extern MPID_nem_gm_ module_send_queue_t *MPID_nem_gm_module_send_free_queue;168 169 170 171 #define MPID_nem_gm_ module_queue_empty(queue) (MPID_nem_gm_module_##queue##_queue.head == NULL)172 #define MPID_nem_gm_ module_queue_head(queue) (MPID_nem_gm_module_##queue##_queue.head)173 #define MPID_nem_gm_ module_queue_dequeue(queue, e) do { \174 *(e) = MPID_nem_gm_ module_##queue##_queue.head; \157 MPID_nem_gm_send_queue_t; 158 159 typedef struct MPID_nem_gm_send_queue_head 160 { 161 MPID_nem_gm_send_queue_t *head; 162 MPID_nem_gm_send_queue_t *tail; 163 } 164 MPID_nem_gm_send_queue_head_t; 165 166 extern MPID_nem_gm_send_queue_head_t MPID_nem_gm_send_queue; 167 extern MPID_nem_gm_send_queue_t *MPID_nem_gm_send_free_queue; 168 169 170 171 #define MPID_nem_gm_queue_empty(queue) (MPID_nem_gm_##queue##_queue.head == NULL) 172 #define MPID_nem_gm_queue_head(queue) (MPID_nem_gm_##queue##_queue.head) 173 #define MPID_nem_gm_queue_dequeue(queue, e) do { \ 174 *(e) = MPID_nem_gm_##queue##_queue.head; \ 175 175 if (*(e)) \ 176 176 { \ 177 MPID_nem_gm_ module_##queue##_queue.head = MPID_nem_gm_module_##queue##_queue.head->next; \178 if (MPID_nem_gm_ module_##queue##_queue.head == NULL) \179 MPID_nem_gm_ module_##queue##_queue.tail = NULL; \177 MPID_nem_gm_##queue##_queue.head = MPID_nem_gm_##queue##_queue.head->next; \ 178 if (MPID_nem_gm_##queue##_queue.head == NULL) \ 179 MPID_nem_gm_##queue##_queue.tail = NULL; \ 180 180 } \ 181 181 } while (0) 182 182 183 #define MPID_nem_gm_ module_queue_enqueue(queue, e) do { \184 if (MPID_nem_gm_ module_##queue##_queue.tail == NULL) \185 MPID_nem_gm_ module_##queue##_queue.head = e; \183 #define MPID_nem_gm_queue_enqueue(queue, e) do { \ 184 if (MPID_nem_gm_##queue##_queue.tail == NULL) \ 185 MPID_nem_gm_##queue##_queue.head = e; \ 186 186 else \ 187 MPID_nem_gm_ module_##queue##_queue.tail->next = e; \188 MPID_nem_gm_ module_##queue##_queue.tail = e; \187 MPID_nem_gm_##queue##_queue.tail->next = e; \ 188 MPID_nem_gm_##queue##_queue.tail = e; \ 189 189 (e)->next = NULL; \ 190 190 } while (0) 191 191 192 #define MPID_nem_gm_ module_queue_free(queue, e) /*free (e)*/ do { \193 (e)->next = MPID_nem_gm_ module_##queue##_free_queue; \194 MPID_nem_gm_ module_##queue##_free_queue = e; \192 #define MPID_nem_gm_queue_free(queue, e) /*free (e)*/ do { \ 193 (e)->next = MPID_nem_gm_##queue##_free_queue; \ 194 MPID_nem_gm_##queue##_free_queue = e; \ 195 195 } while (0) 196 196 197 #define MPID_nem_gm_ module_queue_alloc(queue) ({ \198 MPID_nem_gm_ module_##queue##_queue_t *e; \199 if (MPID_nem_gm_ module_##queue##_free_queue) \197 #define MPID_nem_gm_queue_alloc(queue) ({ \ 198 MPID_nem_gm_##queue##_queue_t *e; \ 199 if (MPID_nem_gm_##queue##_free_queue) \ 200 200 { \ 201 e = MPID_nem_gm_ module_##queue##_free_queue; \202 MPID_nem_gm_ module_##queue##_free_queue = MPID_nem_gm_module_##queue##_free_queue->next; \201 e = MPID_nem_gm_##queue##_free_queue; \ 202 MPID_nem_gm_##queue##_free_queue = MPID_nem_gm_##queue##_free_queue->next; \ 203 203 } \ 204 204 else \ 205 205 { \ 206 e = (MPID_nem_gm_ module_##queue##_queue_t *)MPIU_Malloc (sizeof (MPID_nem_gm_module_##queue##_queue_t)); \206 e = (MPID_nem_gm_##queue##_queue_t *)MPIU_Malloc (sizeof (MPID_nem_gm_##queue##_queue_t)); \ 207 207 } \ 208 208 e; \ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_init.c
- Property svn:mergeinfo set
r3270 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"8 9 MPID_nem_netmod_funcs_t MPIDI_nem_gm_ module_funcs = {10 MPID_nem_gm_ module_init,11 MPID_nem_gm_ module_finalize,12 MPID_nem_gm_ module_ckpt_shutdown,13 MPID_nem_gm_ module_poll,14 MPID_nem_gm_ module_send,15 MPID_nem_gm_ module_get_business_card,16 MPID_nem_gm_ module_connect_to_root,17 MPID_nem_gm_ module_vc_init,18 MPID_nem_gm_ module_vc_destroy,19 MPID_nem_gm_ module_vc_terminate7 #include "gm_impl.h" 8 9 MPID_nem_netmod_funcs_t MPIDI_nem_gm_funcs = { 10 MPID_nem_gm_init, 11 MPID_nem_gm_finalize, 12 MPID_nem_gm_ckpt_shutdown, 13 MPID_nem_gm_poll, 14 MPID_nem_gm_send, 15 MPID_nem_gm_get_business_card, 16 MPID_nem_gm_connect_to_root, 17 MPID_nem_gm_vc_init, 18 MPID_nem_gm_vc_destroy, 19 MPID_nem_gm_vc_terminate 20 20 }; 21 21 … … 37 37 38 38 #define FREE_SEND_QUEUE_ELEMENTS MPID_NEM_NUM_CELLS 39 MPID_nem_gm_ module_send_queue_head_t MPID_nem_gm_module_send_queue = {0};40 MPID_nem_gm_ module_send_queue_t *MPID_nem_gm_module_send_free_queue = 0;39 MPID_nem_gm_send_queue_head_t MPID_nem_gm_send_queue = {0}; 40 MPID_nem_gm_send_queue_t *MPID_nem_gm_send_free_queue = 0; 41 41 42 42 static int my_pg_rank; … … 98 98 /* 99 99 int 100 MPID_nem_gm_ module_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements,100 MPID_nem_gm_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, 101 101 MPID_nem_cell_ptr_t module_elements, int num_module_elements, 102 102 MPID_nem_queue_ptr_t *module_free_queue) … … 117 117 118 118 #undef FUNCNAME 119 #define FUNCNAME MPID_nem_gm_ module_init120 #undef FCNAME 121 #define FCNAME MPIDI_QUOTE(FUNCNAME) 122 int 123 MPID_nem_gm_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,119 #define FUNCNAME MPID_nem_gm_init 120 #undef FCNAME 121 #define FCNAME MPIDI_QUOTE(FUNCNAME) 122 int 123 MPID_nem_gm_init (MPID_nem_queue_ptr_t proc_recv_queue, 124 124 MPID_nem_queue_ptr_t proc_free_queue, 125 125 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, … … 136 136 137 137 /* first make sure that our private fields in the vc fit into the area provided */ 138 MPIU_Assert(sizeof(MPID_nem_gm_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);138 MPIU_Assert(sizeof(MPID_nem_gm_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 139 139 140 140 my_pg_rank = pg_rank; … … 143 143 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 144 144 145 mpi_errno = MPID_nem_gm_ module_get_business_card(pg_rank, bc_val_p, val_max_sz_p);145 mpi_errno = MPID_nem_gm_get_business_card(pg_rank, bc_val_p, val_max_sz_p); 146 146 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 147 147 … … 153 153 MPID_nem_module_gm_num_send_tokens = gm_num_send_tokens(MPID_nem_module_gm_port); 154 154 155 mpi_errno = MPID_nem_gm_ module_recv_init();155 mpi_errno = MPID_nem_gm_recv_init(); 156 156 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 157 157 158 MPID_nem_gm_ module_send_queue.head = NULL;159 MPID_nem_gm_ module_send_queue.tail = NULL;160 161 MPID_nem_gm_ module_send_free_queue = NULL;158 MPID_nem_gm_send_queue.head = NULL; 159 MPID_nem_gm_send_queue.tail = NULL; 160 161 MPID_nem_gm_send_free_queue = NULL; 162 162 163 163 for (i = 0; i < FREE_SEND_QUEUE_ELEMENTS; ++i) 164 164 { 165 MPID_nem_gm_ module_send_queue_t *e;165 MPID_nem_gm_send_queue_t *e; 166 166 167 e = MPIU_Malloc (sizeof (MPID_nem_gm_ module_send_queue_t));168 if (e == NULL) MPIU_CHKMEM_SETERR (mpi_errno, sizeof (MPID_nem_gm_ module_send_queue_t), "gm module send queue");169 e->next = MPID_nem_gm_ module_send_free_queue;170 MPID_nem_gm_ module_send_free_queue = e;171 } 172 173 mpi_errno = MPID_nem_gm_ module_lmt_init();167 e = MPIU_Malloc (sizeof (MPID_nem_gm_send_queue_t)); 168 if (e == NULL) MPIU_CHKMEM_SETERR (mpi_errno, sizeof (MPID_nem_gm_send_queue_t), "gm module send queue"); 169 e->next = MPID_nem_gm_send_free_queue; 170 MPID_nem_gm_send_free_queue = e; 171 } 172 173 mpi_errno = MPID_nem_gm_lmt_init(); 174 174 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 175 175 … … 183 183 184 184 #undef FUNCNAME 185 #define FUNCNAME MPID_nem_gm_ module_get_business_card186 #undef FCNAME 187 #define FCNAME MPIDI_QUOTE(FUNCNAME) 188 int 189 MPID_nem_gm_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p)185 #define FUNCNAME MPID_nem_gm_get_business_card 186 #undef FCNAME 187 #define FCNAME MPIDI_QUOTE(FUNCNAME) 188 int 189 MPID_nem_gm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p) 190 190 { 191 191 int mpi_errno = MPI_SUCCESS; … … 219 219 220 220 #undef FUNCNAME 221 #define FUNCNAME MPID_nem_gm_ module_get_port_unique_from_bc222 #undef FCNAME 223 #define FCNAME MPIDI_QUOTE(FUNCNAME) 224 int 225 MPID_nem_gm_ module_get_port_unique_from_bc (const char *business_card, unsigned *port_id, unsigned char *unique_id)221 #define FUNCNAME MPID_nem_gm_get_port_unique_from_bc 222 #undef FCNAME 223 #define FCNAME MPIDI_QUOTE(FUNCNAME) 224 int 225 MPID_nem_gm_get_port_unique_from_bc (const char *business_card, unsigned *port_id, unsigned char *unique_id) 226 226 { 227 227 int mpi_errno = MPI_SUCCESS; … … 249 249 250 250 #undef FUNCNAME 251 #define FUNCNAME MPID_nem_gm_ module_connect_to_root252 #undef FCNAME 253 #define FCNAME MPIDI_QUOTE(FUNCNAME) 254 int 255 MPID_nem_gm_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc)251 #define FUNCNAME MPID_nem_gm_connect_to_root 252 #undef FCNAME 253 #define FCNAME MPIDI_QUOTE(FUNCNAME) 254 int 255 MPID_nem_gm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc) 256 256 { 257 257 /* In GM, once the VC is initialized there's nothing extra that we need to do to establish a connection */ … … 260 260 261 261 #undef FUNCNAME 262 #define FUNCNAME MPID_nem_gm_ module_vc_init263 #undef FCNAME 264 #define FCNAME MPIDI_QUOTE(FUNCNAME) 265 int 266 MPID_nem_gm_ module_vc_init(MPIDI_VC_t *vc)262 #define FUNCNAME MPID_nem_gm_vc_init 263 #undef FCNAME 264 #define FCNAME MPIDI_QUOTE(FUNCNAME) 265 int 266 MPID_nem_gm_vc_init(MPIDI_VC_t *vc) 267 267 { 268 268 int mpi_errno = MPI_SUCCESS; … … 282 282 VC_FIELD(vc, source_id) = my_pg_rank; /* FIXME: this is only valid for processes in COMM_WORLD */ 283 283 284 mpi_errno = MPID_nem_gm_ module_get_port_unique_from_bc (business_card, &VC_FIELD(vc, gm_port_id), VC_FIELD(vc, gm_unique_id));284 mpi_errno = MPID_nem_gm_get_port_unique_from_bc (business_card, &VC_FIELD(vc, gm_port_id), VC_FIELD(vc, gm_unique_id)); 285 285 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 286 286 … … 302 302 303 303 #undef FUNCNAME 304 #define FUNCNAME MPID_nem_gm_ module_vc_destroy305 #undef FCNAME 306 #define FCNAME MPIDI_QUOTE(FUNCNAME) 307 int MPID_nem_gm_ module_vc_destroy(MPIDI_VC_t *vc)304 #define FUNCNAME MPID_nem_gm_vc_destroy 305 #undef FCNAME 306 #define FCNAME MPIDI_QUOTE(FUNCNAME) 307 int MPID_nem_gm_vc_destroy(MPIDI_VC_t *vc) 308 308 { 309 309 int mpi_errno = MPI_SUCCESS; … … 315 315 316 316 #undef FUNCNAME 317 #define FUNCNAME MPID_nem_gm_ module_vc_terminate318 #undef FCNAME 319 #define FCNAME MPIDI_QUOTE(FUNCNAME) 320 int MPID_nem_gm_ module_vc_terminate (MPIDI_VC_t *vc)317 #define FUNCNAME MPID_nem_gm_vc_terminate 318 #undef FCNAME 319 #define FCNAME MPIDI_QUOTE(FUNCNAME) 320 int MPID_nem_gm_vc_terminate (MPIDI_VC_t *vc) 321 321 { 322 322 return MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_lmt.c
- Property svn:mergeinfo set
r2924 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 #define FREE_LMT_QUEUE_ELEMENTS MPID_NEM_NUM_CELLS 10 10 11 MPID_nem_gm_ module_lmt_queue_head_t MPID_nem_gm_module_lmt_queue = {0};12 MPID_nem_gm_ module_lmt_queue_t *MPID_nem_gm_module_lmt_free_queue = 0;11 MPID_nem_gm_lmt_queue_head_t MPID_nem_gm_lmt_queue = {0}; 12 MPID_nem_gm_lmt_queue_t *MPID_nem_gm_lmt_free_queue = 0; 13 13 14 14 #undef FUNCNAME 15 #define FUNCNAME MPID_nem_gm_ module_lmt_init15 #define FUNCNAME MPID_nem_gm_lmt_init 16 16 #undef FCNAME 17 17 #define FCNAME MPIDI_QUOTE(FUNCNAME) 18 18 int 19 MPID_nem_gm_ module_lmt_init()19 MPID_nem_gm_lmt_init() 20 20 { 21 21 int mpi_errno = MPI_SUCCESS; 22 22 int i; 23 23 24 MPID_nem_gm_ module_lmt_queue.head = NULL;25 MPID_nem_gm_ module_lmt_queue.tail = NULL;26 27 MPID_nem_gm_ module_lmt_free_queue = NULL;24 MPID_nem_gm_lmt_queue.head = NULL; 25 MPID_nem_gm_lmt_queue.tail = NULL; 26 27 MPID_nem_gm_lmt_free_queue = NULL; 28 28 29 29 for (i = 0; i < FREE_LMT_QUEUE_ELEMENTS; ++i) 30 30 { 31 MPID_nem_gm_ module_lmt_queue_t *e;31 MPID_nem_gm_lmt_queue_t *e; 32 32 33 e = MPIU_Malloc (sizeof (MPID_nem_gm_ module_lmt_queue_t));34 if (e == NULL) MPIU_CHKMEM_SETERR (mpi_errno, sizeof (MPID_nem_gm_ module_send_queue_t), "gm module lmt queue");35 e->next = MPID_nem_gm_ module_lmt_free_queue;36 MPID_nem_gm_ module_lmt_free_queue = e;33 e = MPIU_Malloc (sizeof (MPID_nem_gm_lmt_queue_t)); 34 if (e == NULL) MPIU_CHKMEM_SETERR (mpi_errno, sizeof (MPID_nem_gm_send_queue_t), "gm module lmt queue"); 35 e->next = MPID_nem_gm_lmt_free_queue; 36 MPID_nem_gm_lmt_free_queue = e; 37 37 } 38 38 … … 44 44 45 45 int 46 MPID_nem_gm_ module_lmt_finalize()47 { 48 MPID_nem_gm_ module_lmt_queue_t *e;49 50 while (MPID_nem_gm_ module_lmt_free_queue)51 { 52 e = MPID_nem_gm_ module_lmt_free_queue;53 MPID_nem_gm_ module_lmt_free_queue = e->next;46 MPID_nem_gm_lmt_finalize() 47 { 48 MPID_nem_gm_lmt_queue_t *e; 49 50 while (MPID_nem_gm_lmt_free_queue) 51 { 52 e = MPID_nem_gm_lmt_free_queue; 53 MPID_nem_gm_lmt_free_queue = e->next; 54 54 MPIU_Free (e); 55 55 } … … 59 59 60 60 static inline int 61 MPID_nem_gm_ module_lmt_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *remote_vc, struct iovec *cookie)61 MPID_nem_gm_lmt_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *remote_vc, struct iovec *cookie) 62 62 { 63 63 int ret = 0; … … 67 67 for (i = 0; i < n_iov; ++i) 68 68 { 69 ret = MPID_nem_gm_ module_register_mem (iov[i].iov_base, iov[i].iov_len);69 ret = MPID_nem_gm_register_mem (iov[i].iov_base, iov[i].iov_len); 70 70 if (ret != 0) 71 71 { … … 89 89 for (j = i-1; j <= 0; --j) 90 90 { 91 MPID_nem_gm_ module_deregister_mem (iov[j].iov_base, iov[j].iov_len);91 MPID_nem_gm_deregister_mem (iov[j].iov_base, iov[j].iov_len); 92 92 } 93 93 … … 96 96 97 97 int 98 MPID_nem_gm_ module_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie)99 { 100 return MPID_nem_gm_ module_lmt_pre (iov, n_iov, dest, cookie);101 } 102 103 int 104 MPID_nem_gm_ module_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie)105 { 106 return MPID_nem_gm_ module_lmt_pre (iov, n_iov, src, cookie);107 } 108 109 int 110 MPID_nem_gm_ module_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr)98 MPID_nem_gm_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie) 99 { 100 return MPID_nem_gm_lmt_pre (iov, n_iov, dest, cookie); 101 } 102 103 int 104 MPID_nem_gm_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie) 105 { 106 return MPID_nem_gm_lmt_pre (iov, n_iov, src, cookie); 107 } 108 109 int 110 MPID_nem_gm_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr) 111 111 { 112 112 /* We're using gets to transfer the data so, this should not be called */ … … 115 115 116 116 int 117 MPID_nem_gm_ module_lmt_start_recv (MPIDI_VC_t *src_vc, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr)117 MPID_nem_gm_lmt_start_recv (MPIDI_VC_t *src_vc, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr) 118 118 { 119 119 int ret; … … 132 132 s_offset = 0; 133 133 134 ret = MPID_nem_gm_ module_lmt_do_get (VC_FIELD(src_vc, gm_node_id), VC_FIELD(src_vc, gm_port_id), &r_iov, &r_n_iov, &r_offset, &s_iov, &s_n_iov, &s_offset,134 ret = MPID_nem_gm_lmt_do_get (VC_FIELD(src_vc, gm_node_id), VC_FIELD(src_vc, gm_port_id), &r_iov, &r_n_iov, &r_offset, &s_iov, &s_n_iov, &s_offset, 135 135 completion_ctr); 136 136 if (ret == LMT_AGAIN) 137 137 { 138 MPID_nem_gm_ module_lmt_queue_t *e = MPID_nem_gm_module_queue_alloc (lmt);138 MPID_nem_gm_lmt_queue_t *e = MPID_nem_gm_queue_alloc (lmt); 139 139 if (!e) 140 140 { … … 151 151 e->s_offset = s_offset; 152 152 e->compl_ctr = completion_ctr; 153 MPID_nem_gm_ module_queue_enqueue (lmt, e);153 MPID_nem_gm_queue_enqueue (lmt, e); 154 154 } 155 155 else if (ret == LMT_FAILURE) 156 156 { 157 printf ("error: MPID_nem_gm_ module_lmt_do_get() failed \n");157 printf ("error: MPID_nem_gm_lmt_do_get() failed \n"); 158 158 return -1; 159 159 } … … 162 162 163 163 static inline int 164 MPID_nem_gm_ module_lmt_post (struct iovec cookie)164 MPID_nem_gm_lmt_post (struct iovec cookie) 165 165 { 166 166 int ret = 0; … … 174 174 for (i = 0; i < n_iov; ++i) 175 175 { 176 MPID_nem_gm_ module_deregister_mem (iov[i].iov_base, iov[i].iov_len);176 MPID_nem_gm_deregister_mem (iov[i].iov_base, iov[i].iov_len); 177 177 } 178 178 … … 183 183 184 184 int 185 MPID_nem_gm_ module_lmt_send_post (struct iovec cookie)186 { 187 return MPID_nem_gm_ module_lmt_post (cookie);188 } 189 190 int 191 MPID_nem_gm_ module_lmt_recv_post (struct iovec cookie)192 { 193 return MPID_nem_gm_ module_lmt_post (cookie);185 MPID_nem_gm_lmt_send_post (struct iovec cookie) 186 { 187 return MPID_nem_gm_lmt_post (cookie); 188 } 189 190 int 191 MPID_nem_gm_lmt_recv_post (struct iovec cookie) 192 { 193 return MPID_nem_gm_lmt_post (cookie); 194 194 } 195 195 … … 209 209 210 210 int 211 MPID_nem_gm_ module_lmt_do_get (int node_id, int port_id, struct iovec **r_iov, int *r_n_iov, int *r_offset, struct iovec **s_iov, int *s_n_iov,211 MPID_nem_gm_lmt_do_get (int node_id, int port_id, struct iovec **r_iov, int *r_n_iov, int *r_offset, struct iovec **s_iov, int *s_n_iov, 212 212 int *s_offset, int *compl_ctr) 213 213 { … … 276 276 if (s_i != *s_n_iov || r_i != *r_n_iov) 277 277 { 278 printf ("error: iov mismatch in MPID_nem_gm_ module_lmt_start_recv\n");278 printf ("error: iov mismatch in MPID_nem_gm_lmt_start_recv\n"); 279 279 return LMT_FAILURE; 280 280 } mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_poll.c
- Property svn:mergeinfo set
r690 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 /* receive buffer */ … … 30 30 31 31 #undef FUNCNAME 32 #define FUNCNAME MPID_nem_gm_ module_recv_init33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_gm_ module_recv_init()32 #define FUNCNAME MPID_nem_gm_recv_init 33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_gm_recv_init() 36 36 { 37 37 int mpi_errno = MPI_SUCCESS; … … 69 69 70 70 #undef FUNCNAME 71 #define FUNCNAME MPID_nem_gm_ module_recv72 #undef FCNAME 73 #define FCNAME MPIDI_QUOTE(FUNCNAME) 74 inline int MPID_nem_gm_ module_recv()71 #define FUNCNAME MPID_nem_gm_recv 72 #undef FCNAME 73 #define FCNAME MPIDI_QUOTE(FUNCNAME) 74 inline int MPID_nem_gm_recv() 75 75 { 76 76 int mpi_errno = MPI_SUCCESS; … … 78 78 MPIDI_VC_t *vc; 79 79 80 /* printf_d ("MPID_nem_gm_ module_recv()\n"); */80 /* printf_d ("MPID_nem_gm_recv()\n"); */ 81 81 82 82 while (!RECVBUF_S_EMPTY()) … … 174 174 { 175 175 int ret; 176 MPID_nem_gm_ module_lmt_queue_t *e;177 178 MPID_nem_gm_ module_queue_dequeue (lmt, &e);176 MPID_nem_gm_lmt_queue_t *e; 177 178 MPID_nem_gm_queue_dequeue (lmt, &e); 179 179 180 180 while (e && MPID_nem_module_gm_num_send_tokens) 181 181 { 182 ret = MPID_nem_gm_ module_lmt_do_get (e->node_id, e->port_id, &e->r_iov, &e->r_n_iov, &e->r_offset, &e->s_iov, &e->s_n_iov, &e->s_offset,182 ret = MPID_nem_gm_lmt_do_get (e->node_id, e->port_id, &e->r_iov, &e->r_n_iov, &e->r_offset, &e->s_iov, &e->s_n_iov, &e->s_offset, 183 183 e->compl_ctr); 184 184 if (ret == LMT_AGAIN) 185 185 { 186 MPID_nem_gm_ module_queue_free (lmt, e);187 MPID_nem_gm_ module_queue_dequeue (lmt, &e);186 MPID_nem_gm_queue_free (lmt, e); 187 MPID_nem_gm_queue_dequeue (lmt, &e); 188 188 } 189 189 else if (ret == LMT_FAILURE) 190 190 { 191 printf ("error: MPID_nem_gm_ module_lmt_do_get failed. Dequeuing.\n");192 MPID_nem_gm_ module_queue_free (lmt, e);193 MPID_nem_gm_ module_queue_dequeue (lmt, &e);191 printf ("error: MPID_nem_gm_lmt_do_get failed. Dequeuing.\n"); 192 MPID_nem_gm_queue_free (lmt, e); 193 MPID_nem_gm_queue_dequeue (lmt, &e); 194 194 } 195 195 } … … 199 199 200 200 #undef FUNCNAME 201 #define FUNCNAME MPID_nem_gm_ module_send_poll201 #define FUNCNAME MPID_nem_gm_send_poll 202 202 #undef FCNAME 203 203 #define FCNAME MPIDI_QUOTE(FUNCNAME) 204 204 inline int 205 MPID_nem_gm_ module_send_poll( void )205 MPID_nem_gm_send_poll( void ) 206 206 { 207 207 int mpi_errno = MPI_SUCCESS; … … 210 210 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 211 211 /*lmt_poll(); */ 212 mpi_errno = MPID_nem_gm_ module_recv();213 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 214 215 fn_exit: 216 return mpi_errno; 217 fn_fail: 218 goto fn_exit; 219 } 220 221 #undef FUNCNAME 222 #define FUNCNAME MPID_nem_gm_ module_recv_poll212 mpi_errno = MPID_nem_gm_recv(); 213 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 214 215 fn_exit: 216 return mpi_errno; 217 fn_fail: 218 goto fn_exit; 219 } 220 221 #undef FUNCNAME 222 #define FUNCNAME MPID_nem_gm_recv_poll 223 223 #undef FCNAME 224 224 #define FCNAME MPIDI_QUOTE(FUNCNAME) 225 225 inline int 226 MPID_nem_gm_ module_recv_poll( void )227 { 228 int mpi_errno = MPI_SUCCESS; 229 230 mpi_errno = MPID_nem_gm_ module_recv();226 MPID_nem_gm_recv_poll( void ) 227 { 228 int mpi_errno = MPI_SUCCESS; 229 230 mpi_errno = MPID_nem_gm_recv(); 231 231 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 232 232 mpi_errno = MPID_nem_send_from_queue(); … … 240 240 241 241 #undef FUNCNAME 242 #define FUNCNAME MPID_nem_gm_ module_poll242 #define FUNCNAME MPID_nem_gm_poll 243 243 #undef FCNAME 244 244 #define FCNAME MPIDI_QUOTE(FUNCNAME) 245 245 int 246 MPID_nem_gm_ module_poll(MPID_nem_poll_dir_t in_or_out)246 MPID_nem_gm_poll(MPID_nem_poll_dir_t in_or_out) 247 247 { 248 248 if (in_or_out == MPID_NEM_POLL_OUT) 249 249 { 250 return MPID_nem_gm_ module_send_poll();250 return MPID_nem_gm_send_poll(); 251 251 } 252 252 else 253 253 { 254 return MPID_nem_gm_ module_recv_poll();255 } 256 } 254 return MPID_nem_gm_recv_poll(); 255 } 256 } mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_register.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 int 10 MPID_nem_gm_ module_register_mem (void *p, int len)10 MPID_nem_gm_register_mem (void *p, int len) 11 11 { 12 12 if (gm_register_memory (MPID_nem_module_gm_port, p, len) == GM_SUCCESS) … … 17 17 18 18 int 19 MPID_nem_gm_ module_deregister_mem (void *p, int len)19 MPID_nem_gm_deregister_mem (void *p, int len) 20 20 { 21 21 if (gm_deregister_memory (MPID_nem_module_gm_port, p, len) == GM_SUCCESS) mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_send.c
- Property svn:mergeinfo set
r690 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 #define DO_PAPI3(x) /*x */ … … 54 54 { 55 55 int mpi_errno = MPI_SUCCESS; 56 MPID_nem_gm_ module_send_queue_t *e;56 MPID_nem_gm_send_queue_t *e; 57 57 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_SEND_FROM_QUEUE); 58 58 #ifdef BOUNCE_BUFFER … … 68 68 /* MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_SEND_FROM_QUEUE); */ 69 69 70 while (!MPID_nem_gm_ module_queue_empty (send) && MPID_nem_module_gm_num_send_tokens)70 while (!MPID_nem_gm_queue_empty (send) && MPID_nem_module_gm_num_send_tokens) 71 71 { 72 MPID_nem_gm_ module_queue_dequeue (send, &e);72 MPID_nem_gm_queue_dequeue (send, &e); 73 73 74 74 switch (e->type) … … 84 84 { 85 85 case RDMA_TYPE_GET: 86 mpi_errno = MPID_nem_gm_ module_do_get (e->u.rdma.target_p, e->u.rdma.source_p, e->u.rdma.len, e->node_id, e->port_id,86 mpi_errno = MPID_nem_gm_do_get (e->u.rdma.target_p, e->u.rdma.source_p, e->u.rdma.len, e->node_id, e->port_id, 87 87 e->u.rdma.completion_ctr); 88 88 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 89 89 break; 90 90 case RDMA_TYPE_PUT: 91 mpi_errno = MPID_nem_gm_ module_do_put (e->u.rdma.target_p, e->u.rdma.source_p, e->u.rdma.len, e->node_id, e->port_id,91 mpi_errno = MPID_nem_gm_do_put (e->u.rdma.target_p, e->u.rdma.source_p, e->u.rdma.len, e->node_id, e->port_id, 92 92 e->u.rdma.completion_ctr); 93 93 if (mpi_errno) MPIU_ERR_POP (mpi_errno); … … 102 102 break; 103 103 } 104 MPID_nem_gm_ module_queue_free (send, e);104 MPID_nem_gm_queue_free (send, e); 105 105 } 106 106 fn_exit: … … 112 112 113 113 #undef FUNCNAME 114 #define FUNCNAME MPID_nem_gm_ module_send114 #define FUNCNAME MPID_nem_gm_send 115 115 #undef FCNAME 116 116 #define FCNAME MPIDI_QUOTE(FUNCNAME) 117 117 int 118 MPID_nem_gm_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)118 MPID_nem_gm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen) 119 119 { 120 120 int mpi_errno = MPI_SUCCESS; 121 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_GM_ MODULE_SEND);121 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_GM_SEND); 122 122 123 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_GM_ MODULE_SEND);123 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_GM_SEND); 124 124 125 125 DO_PAPI3 (PAPI_reset (PAPI_EventSet)); … … 135 135 else 136 136 { 137 MPID_nem_gm_ module_send_queue_t *e;137 MPID_nem_gm_send_queue_t *e; 138 138 139 139 DO_PAPI3 (PAPI_accum_var (PAPI_EventSet, PAPI_vvalues15)); 140 e = MPID_nem_gm_ module_queue_alloc (send);140 e = MPID_nem_gm_queue_alloc (send); 141 141 e->node_id = VC_FIELD(vc, gm_node_id); 142 142 e->port_id = VC_FIELD(vc, gm_port_id); … … 147 147 cell->pkt.mpich2.datalen = datalen; 148 148 149 MPID_nem_gm_ module_queue_enqueue (send, e);149 MPID_nem_gm_queue_enqueue (send, e); 150 150 mpi_errno = MPID_nem_send_from_queue(); 151 151 if (mpi_errno) MPIU_ERR_POP (mpi_errno); … … 154 154 } 155 155 fn_exit: 156 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_GM_ MODULE_SEND);156 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_GM_SEND); 157 157 return mpi_errno; 158 158 fn_fail: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/gm/gm_test.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "gm_ module_impl.h"7 #include "gm_impl.h" 8 8 9 9 int 10 MPID_nem_gm_ module_test()10 MPID_nem_gm_test() 11 11 { 12 12 return gm_receive_pending (MPID_nem_module_gm_port); mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/Makefile.sm
r100 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 ib_module_init.c ib_module_ckpt_shutdown.c ib_module_connect_to_root.c \ 5 ib_module_finalize.c ib_module_get_bus_card.c ib_module_init.c \ 6 ib_module_poll.c ib_module_vc_init.c ib_module_send.c ib_param.c \ 7 ib_module_cm.c ib_module_priv.c ib_utils.c ib_module_cell.c \ 8 ib_module_vc_finalize.c 4 ib_init.c ib_ckpt_shutdown.c ib_connect_to_root.c ib_finalize.c ib_get_bus_card.c ib_init.c \ 5 ib_poll.c ib_vc_init.c ib_send.c ib_param.c ib_cm.c ib_priv.c ib_utils.c ib_cell.c \ 6 ib_vc_finalize.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cell.c
- Property svn:mergeinfo set
r3391 r3763 8 8 #include "ib_device.h" 9 9 #include "ib_utils.h" 10 #include "ib_ module_cm.h"11 #include "ib_ module_priv.h"12 #include "ib_ module_impl.h"13 14 static MPID_nem_ib_ module_queue_ptr_t alloc_cells_queue;15 16 #undef FUNCNAME 17 #define FUNCNAME MPID_nem_ib_ module_add_cells18 #undef FCNAME 19 #define FCNAME MPIDI_QUOTE(FUNCNAME) 20 21 int MPID_nem_ib_ module_add_cells(int n)10 #include "ib_cm.h" 11 #include "ib_priv.h" 12 #include "ib_impl.h" 13 14 static MPID_nem_ib_queue_ptr_t alloc_cells_queue; 15 16 #undef FUNCNAME 17 #define FUNCNAME MPID_nem_ib_add_cells 18 #undef FCNAME 19 #define FCNAME MPIDI_QUOTE(FUNCNAME) 20 21 int MPID_nem_ib_add_cells(int n) 22 22 { 23 23 int mpi_errno = MPI_SUCCESS; 24 24 int i; 25 MPID_nem_ib_ module_cell_pool_t *pool;26 MPID_nem_ib_ module_cell_elem_t *ce;27 MPID_nem_ib_ module_queue_elem_t *qe;28 MPID_nem_ib_ module_queue_elem_t *cell_ptr_elem;29 30 pool = &MPID_nem_ib_ module_cell_pool;31 32 ce = MPIU_Malloc(sizeof(MPID_nem_ib_ module_cell_elem_t) * n);25 MPID_nem_ib_cell_pool_t *pool; 26 MPID_nem_ib_cell_elem_t *ce; 27 MPID_nem_ib_queue_elem_t *qe; 28 MPID_nem_ib_queue_elem_t *cell_ptr_elem; 29 30 pool = &MPID_nem_ib_cell_pool; 31 32 ce = MPIU_Malloc(sizeof(MPID_nem_ib_cell_elem_t) * n); 33 33 34 34 if(NULL == ce) { 35 35 MPIU_CHKMEM_SETERR(mpi_errno, 36 sizeof(MPID_nem_ib_ module_cell_elem_t) * n,36 sizeof(MPID_nem_ib_cell_elem_t) * n, 37 37 "IB Module Cell Elements"); 38 38 } 39 39 40 memset(ce, 0, sizeof(MPID_nem_ib_ module_cell_elem_t) * n);41 42 MPID_nem_ib_ module_queue_alloc(alloc_cells_queue, &cell_ptr_elem);40 memset(ce, 0, sizeof(MPID_nem_ib_cell_elem_t) * n); 41 42 MPID_nem_ib_queue_alloc(alloc_cells_queue, &cell_ptr_elem); 43 43 44 44 cell_ptr_elem->data = ce; 45 45 46 MPID_nem_ib_ module_queue_enqueue(alloc_cells_queue, cell_ptr_elem);46 MPID_nem_ib_queue_enqueue(alloc_cells_queue, cell_ptr_elem); 47 47 48 48 /* Allocate the queue elements and enqueue */ … … 50 50 for(i = 0; i < n; i++) { 51 51 52 mpi_errno = MPID_nem_ib_ module_queue_new_elem(&qe, &ce[i]);52 mpi_errno = MPID_nem_ib_queue_new_elem(&qe, &ce[i]); 53 53 54 54 if(mpi_errno) { … … 56 56 } 57 57 58 MPID_nem_ib_ module_queue_enqueue(pool->queue, qe);58 MPID_nem_ib_queue_enqueue(pool->queue, qe); 59 59 60 60 /* Record the Queue element pointer */ … … 69 69 70 70 #undef FUNCNAME 71 #define FUNCNAME MPID_nem_ib_ module_init_cell_pool72 #undef FCNAME 73 #define FCNAME MPIDI_QUOTE(FUNCNAME) 74 75 int MPID_nem_ib_ module_init_cell_pool(int n)71 #define FUNCNAME MPID_nem_ib_init_cell_pool 72 #undef FCNAME 73 #define FCNAME MPIDI_QUOTE(FUNCNAME) 74 75 int MPID_nem_ib_init_cell_pool(int n) 76 76 { 77 77 int mpi_errno = MPI_SUCCESS; 78 MPID_nem_ib_ module_cell_pool_t *pool;79 80 pool = &MPID_nem_ib_ module_cell_pool;81 82 MPID_nem_ib_ module_queue_init(&pool->queue);83 84 MPID_nem_ib_ module_queue_init(&alloc_cells_queue);85 86 mpi_errno = MPID_nem_ib_ module_add_cells(n);78 MPID_nem_ib_cell_pool_t *pool; 79 80 pool = &MPID_nem_ib_cell_pool; 81 82 MPID_nem_ib_queue_init(&pool->queue); 83 84 MPID_nem_ib_queue_init(&alloc_cells_queue); 85 86 mpi_errno = MPID_nem_ib_add_cells(n); 87 87 88 88 if(mpi_errno) { … … 99 99 100 100 #undef FUNCNAME 101 #define FUNCNAME MPID_nem_ib_ module_finalize_cell_pool102 #undef FCNAME 103 #define FCNAME MPIDI_QUOTE(FUNCNAME) 104 105 void MPID_nem_ib_ module_finalize_cell_pool()106 { 107 MPID_nem_ib_ module_queue_elem_t *e;108 MPID_nem_ib_ module_cell_elem_t *ce;109 110 while(!MPID_nem_ib_ module_queue_empty(111 MPID_nem_ib_ module_cell_pool.queue)) {112 113 MPID_nem_ib_ module_queue_dequeue(114 MPID_nem_ib_ module_cell_pool.queue, &e);101 #define FUNCNAME MPID_nem_ib_finalize_cell_pool 102 #undef FCNAME 103 #define FCNAME MPIDI_QUOTE(FUNCNAME) 104 105 void MPID_nem_ib_finalize_cell_pool() 106 { 107 MPID_nem_ib_queue_elem_t *e; 108 MPID_nem_ib_cell_elem_t *ce; 109 110 while(!MPID_nem_ib_queue_empty( 111 MPID_nem_ib_cell_pool.queue)) { 112 113 MPID_nem_ib_queue_dequeue( 114 MPID_nem_ib_cell_pool.queue, &e); 115 115 116 116 MPIU_Free(e); 117 117 } 118 118 119 while(!MPID_nem_ib_ module_queue_empty(119 while(!MPID_nem_ib_queue_empty( 120 120 alloc_cells_queue)) { 121 121 122 MPID_nem_ib_ module_queue_dequeue(122 MPID_nem_ib_queue_dequeue( 123 123 alloc_cells_queue, &e); 124 124 … … 130 130 131 131 #undef FUNCNAME 132 #define FUNCNAME MPID_nem_ib_ module_get_cell133 #undef FCNAME 134 #define FCNAME MPIDI_QUOTE(FUNCNAME) 135 136 int MPID_nem_ib_ module_get_cell(137 MPID_nem_ib_ module_cell_elem_t **e)132 #define FUNCNAME MPID_nem_ib_get_cell 133 #undef FCNAME 134 #define FCNAME MPIDI_QUOTE(FUNCNAME) 135 136 int MPID_nem_ib_get_cell( 137 MPID_nem_ib_cell_elem_t **e) 138 138 { 139 139 int mpi_errno = MPI_SUCCESS; 140 MPID_nem_ib_ module_queue_elem_t *qe;141 142 pthread_spin_lock(&MPID_nem_ib_ module_cell_pool.lock);143 144 if(!MPID_nem_ib_ module_queue_empty(145 MPID_nem_ib_ module_cell_pool.queue)) {146 147 MPID_nem_ib_ module_queue_dequeue(148 MPID_nem_ib_ module_cell_pool.queue,140 MPID_nem_ib_queue_elem_t *qe; 141 142 pthread_spin_lock(&MPID_nem_ib_cell_pool.lock); 143 144 if(!MPID_nem_ib_queue_empty( 145 MPID_nem_ib_cell_pool.queue)) { 146 147 MPID_nem_ib_queue_dequeue( 148 MPID_nem_ib_cell_pool.queue, 149 149 &qe); 150 150 … … 159 159 NEM_IB_DBG("Ran out of cells, allocating new ones"); 160 160 161 mpi_errno = MPID_nem_ib_ module_add_cells(161 mpi_errno = MPID_nem_ib_add_cells( 162 162 MPID_nem_ib_dev_param_ptr->sec_pool_size); 163 163 … … 168 168 /* Atleast one cell is available now! */ 169 169 170 MPID_nem_ib_ module_queue_dequeue(171 MPID_nem_ib_ module_cell_pool.queue,170 MPID_nem_ib_queue_dequeue( 171 MPID_nem_ib_cell_pool.queue, 172 172 &qe); 173 173 … … 179 179 } 180 180 181 pthread_spin_unlock(&MPID_nem_ib_ module_cell_pool.lock);181 pthread_spin_unlock(&MPID_nem_ib_cell_pool.lock); 182 182 183 183 fn_exit: … … 189 189 190 190 #undef FUNCNAME 191 #define FUNCNAME MPID_nem_ib_ module_return_cell192 #undef FCNAME 193 #define FCNAME MPIDI_QUOTE(FUNCNAME) 194 195 void MPID_nem_ib_ module_return_cell(196 MPID_nem_ib_ module_cell_elem_t *ce)197 { 198 pthread_spin_lock(&MPID_nem_ib_ module_cell_pool.lock);191 #define FUNCNAME MPID_nem_ib_return_cell 192 #undef FCNAME 193 #define FCNAME MPIDI_QUOTE(FUNCNAME) 194 195 void MPID_nem_ib_return_cell( 196 MPID_nem_ib_cell_elem_t *ce) 197 { 198 pthread_spin_lock(&MPID_nem_ib_cell_pool.lock); 199 199 200 200 ce->vc = NULL; 201 201 ce->nem_cell = NULL; 202 202 203 MPID_nem_ib_ module_queue_enqueue(204 MPID_nem_ib_ module_cell_pool.queue,203 MPID_nem_ib_queue_enqueue( 204 MPID_nem_ib_cell_pool.queue, 205 205 ce->qe); 206 206 207 pthread_spin_unlock(&MPID_nem_ib_ module_cell_pool.lock);208 } 209 210 #undef FUNCNAME 211 #define FUNCNAME MPID_nem_ib_ module_prep_cell_recv212 #undef FCNAME 213 #define FCNAME MPIDI_QUOTE(FUNCNAME) 214 215 void MPID_nem_ib_ module_prep_cell_recv(216 MPID_nem_ib_ module_cell_elem_t *ce,207 pthread_spin_unlock(&MPID_nem_ib_cell_pool.lock); 208 } 209 210 #undef FUNCNAME 211 #define FUNCNAME MPID_nem_ib_prep_cell_recv 212 #undef FCNAME 213 #define FCNAME MPIDI_QUOTE(FUNCNAME) 214 215 void MPID_nem_ib_prep_cell_recv( 216 MPID_nem_ib_cell_elem_t *ce, 217 217 void* buf) 218 218 { … … 228 228 229 229 #undef FUNCNAME 230 #define FUNCNAME MPID_nem_ib_ module_prep_cell_send231 #undef FCNAME 232 #define FCNAME MPIDI_QUOTE(FUNCNAME) 233 234 void MPID_nem_ib_ module_prep_cell_send(235 MPID_nem_ib_ module_cell_elem_t *ce,230 #define FUNCNAME MPID_nem_ib_prep_cell_send 231 #undef FCNAME 232 #define FCNAME MPIDI_QUOTE(FUNCNAME) 233 234 void MPID_nem_ib_prep_cell_send( 235 MPID_nem_ib_cell_elem_t *ce, 236 236 void* buf, uint32_t len) 237 237 { mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_ckpt_shutdown.c
- Property svn:mergeinfo set
r100 r3763 5 5 #include <stdio.h> 6 6 7 int MPID_nem_ib_ module_ckpt_shutdown (void)7 int MPID_nem_ib_ckpt_shutdown (void) 8 8 { 9 9 fprintf(stderr,"STUB\n"); mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cm.c
- Property svn:mergeinfo set
r100 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #include "ib_ module_impl.h"5 #include "ib_impl.h" 6 6 #include "mpidimpl.h" 7 #include "ib_ module_cm.h"7 #include "ib_cm.h" 8 8 9 9 #undef FUNCNAME … … 12 12 #define FCNAME MPIDI_QUOTE(FUNCNAME) 13 13 14 MPID_nem_ib_ module_queue_ptr_t MPID_nem_ib_module_qp_queue = 0;14 MPID_nem_ib_queue_ptr_t MPID_nem_ib_qp_queue = 0; 15 15 16 16 static int cm_post_ud_packet( … … 100 100 struct ibv_qp_init_attr init_attr; 101 101 struct ibv_qp_attr attr; 102 MPID_nem_ib_ module_queue_elem_ptr_t e;102 MPID_nem_ib_queue_elem_ptr_t e; 103 103 104 104 memset(&init_attr, 0, sizeof(init_attr)); … … 114 114 "**ibv_create_qp %s", "CM creating RC qp"); 115 115 116 MPID_nem_ib_ module_queue_alloc(MPID_nem_ib_module_qp_queue, &e);116 MPID_nem_ib_queue_alloc(MPID_nem_ib_qp_queue, &e); 117 117 118 118 e->data = *qp; … … 120 120 NEM_IB_DBG("Enqueing qp %p", *qp); 121 121 122 MPID_nem_ib_ module_queue_enqueue(MPID_nem_ib_module_qp_queue, e);122 MPID_nem_ib_queue_enqueue(MPID_nem_ib_qp_queue, e); 123 123 124 124 memset(&attr, 0, sizeof(attr)); … … 672 672 do { 673 673 r_info = (MPID_nem_ib_cm_remote_id_ptr_t) 674 MPID_nem_ib_ module_lookup_hash_table(674 MPID_nem_ib_lookup_hash_table( 675 675 &MPID_nem_ib_cm_ctxt_ptr->hash_table, 676 676 msg->src_guid, msg->src_ud_qpn); … … 1173 1173 /* Initialize the QP queue */ 1174 1174 1175 MPID_nem_ib_ module_queue_init(&MPID_nem_ib_module_qp_queue);1175 MPID_nem_ib_queue_init(&MPID_nem_ib_qp_queue); 1176 1176 1177 1177 /* Initialize the Hash table */ 1178 1178 1179 mpi_errno = MPID_nem_ib_ module_init_hash_table(&ctxt_ptr->hash_table,1179 mpi_errno = MPID_nem_ib_init_hash_table(&ctxt_ptr->hash_table, 1180 1180 param_ptr->cm_hash_size); 1181 1181 … … 1296 1296 int mpi_errno = MPI_SUCCESS; 1297 1297 int ret; 1298 MPID_nem_ib_ module_queue_elem_ptr_t e;1299 1300 while(!MPID_nem_ib_ module_queue_empty(1301 MPID_nem_ib_ module_qp_queue)) {1302 1303 MPID_nem_ib_ module_queue_dequeue(1304 MPID_nem_ib_ module_qp_queue, &e);1298 MPID_nem_ib_queue_elem_ptr_t e; 1299 1300 while(!MPID_nem_ib_queue_empty( 1301 MPID_nem_ib_qp_queue)) { 1302 1303 MPID_nem_ib_queue_dequeue( 1304 MPID_nem_ib_qp_queue, &e); 1305 1305 1306 1306 MPIU_Assert(NULL != e->data); … … 1317 1317 } 1318 1318 1319 MPID_nem_ib_ module_queue_finalize(MPID_nem_ib_module_qp_queue);1319 MPID_nem_ib_queue_finalize(MPID_nem_ib_qp_queue); 1320 1320 1321 1321 fn_exit: … … 1387 1387 MPIU_Free(MPID_nem_ib_cm_ctxt_ptr->cm_buf); 1388 1388 1389 MPID_nem_ib_ module_finalize_hash_table(1389 MPID_nem_ib_finalize_hash_table( 1390 1390 &MPID_nem_ib_cm_ctxt_ptr->hash_table); 1391 1391 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_cm.h
- Property svn:mergeinfo set
r100 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #ifndef _IB_MODULE_CM_H6 #define _IB_MODULE_CM_H5 #ifndef IB_CM_H 6 #define IB_CM_H 7 7 8 8 #include <infiniband/verbs.h> … … 104 104 void *cm_recv_buf; 105 105 uint32_t cm_recv_buf_index; 106 MPID_nem_ib_ module_hash_table_t hash_table;106 MPID_nem_ib_hash_table_t hash_table; 107 107 int cm_pending_num; 108 108 uint32_t cm_req_id_global; … … 125 125 126 126 extern MPID_nem_ib_cm_ctxt_ptr_t MPID_nem_ib_cm_ctxt_ptr; 127 extern MPID_nem_ib_ module_queue_ptr_t MPID_nem_ib_module_qp_queue;127 extern MPID_nem_ib_queue_ptr_t MPID_nem_ib_qp_queue; 128 128 129 129 int MPID_nem_ib_cm_init_cm(); … … 137 137 int MPID_nem_ib_cm_finalize_rc_qps(); 138 138 139 #endif /* _IB_MODULE_CM_H */139 #endif /* IB_CM_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_connect_to_root.c
- Property svn:mergeinfo set
r3391 r3763 6 6 7 7 #include "mpidimpl.h" 8 #include "ib_ module_impl.h"8 #include "ib_impl.h" 9 9 10 int MPID_nem_ib_ module_connect_to_root (const char *business_card,10 int MPID_nem_ib_connect_to_root (const char *business_card, 11 11 MPIDI_VC_t *new_vc) 12 12 { mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_device.h
r100 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #ifndef _IB_DEVICE_H6 #define _IB_DEVICE_H5 #ifndef IB_DEVICE_H 6 #define IB_DEVICE_H 7 7 8 8 #include <infiniband/verbs.h> … … 81 81 82 82 /** 83 * MPID_nem_ib_ module_ctxt_t83 * MPID_nem_ib_ctxt_t 84 84 * 85 85 * Defines the InfiniBand context related datastructures for any … … 104 104 void async_thread(void *context); 105 105 106 #endif /* _IB_DEVICE_H */106 #endif /* IB_DEVICE_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_finalize.c
- Property svn:mergeinfo set
r3391 r3763 5 5 #define _GNU_SOURCE 6 6 #include "mpidimpl.h" 7 #include "ib_ module_impl.h"7 #include "ib_impl.h" 8 8 #include "ib_device.h" 9 #include "ib_ module_cm.h"9 #include "ib_cm.h" 10 10 11 11 #undef FUNCNAME 12 #define FUNCNAME MPID_nem_ib_ module_finalize12 #define FUNCNAME MPID_nem_ib_finalize 13 13 #undef FCNAME 14 14 #define FCNAME MPIDI_QUOTE(FUNCNAME) 15 15 16 int MPID_nem_ib_ module_finalize (void)16 int MPID_nem_ib_finalize (void) 17 17 { 18 18 int mpi_errno = MPI_SUCCESS; … … 91 91 } 92 92 93 MPID_nem_ib_ module_finalize_cell_pool();93 MPID_nem_ib_finalize_cell_pool(); 94 94 95 MPID_nem_ib_ module_queue_finalize(MPID_nem_ib_module_vc_queue);95 MPID_nem_ib_queue_finalize(MPID_nem_ib_vc_queue); 96 96 97 97 fn_exit: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_get_bus_card.c
- Property svn:mergeinfo set
r3391 r3763 6 6 7 7 #include "mpidimpl.h" 8 #include "ib_ module_impl.h"8 #include "ib_impl.h" 9 9 #include "ib_utils.h" 10 #include "ib_ module_cm.h"10 #include "ib_cm.h" 11 11 12 12 13 13 #undef FUNCNAME 14 #define FUNCNAME MPID_nem_ib_ module_get_business_card14 #define FUNCNAME MPID_nem_ib_get_business_card 15 15 #undef FCNAME 16 16 #define FCNAME MPIDI_QUOTE(FUNCNAME) 17 17 18 int MPID_nem_ib_ module_get_business_card (int my_rank, char **bc_val_p,18 int MPID_nem_ib_get_business_card (int my_rank, char **bc_val_p, 19 19 int *val_max_sz_p) 20 20 { mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_impl.h
- Property svn:mergeinfo set
r3391 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #ifndef _IB_MODULE_IMPL_H6 #define _IB_MODULE_IMPL_H5 #ifndef IB_IMPL_H 6 #define IB_IMPL_H 7 7 8 8 #define _GNU_SOURCE … … 33 33 int conn_status; 34 34 struct ibv_qp *qp; 35 struct MPID_nem_ib_ module_queue_t *ib_send_queue;36 struct MPID_nem_ib_ module_queue_t *ib_recv_queue;35 struct MPID_nem_ib_queue_t *ib_send_queue; 36 struct MPID_nem_ib_queue_t *ib_recv_queue; 37 37 uint32_t avail_send_wqes; 38 38 char in_queue; 39 } MPID_nem_ib_ module_vc_area;39 } MPID_nem_ib_vc_area; 40 40 41 41 /* accessor macro to private fields in VC */ 42 #define VC_FIELD(vc, field) (((MPID_nem_ib_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)42 #define VC_FIELD(vc, field) (((MPID_nem_ib_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 43 43 44 44 typedef struct { … … 48 48 } u; 49 49 struct ibv_sge sg_list; 50 } MPID_nem_ib_ module_descriptor_t;50 } MPID_nem_ib_descriptor_t; 51 51 52 52 typedef struct { 53 53 MPID_nem_cell_ptr_t nem_cell; 54 54 int datalen; 55 MPID_nem_ib_ module_queue_elem_t *qe;55 MPID_nem_ib_queue_elem_t *qe; 56 56 MPIDI_VC_t *vc; 57 MPID_nem_ib_ module_descriptor_t desc;58 } MPID_nem_ib_ module_cell_elem_t;57 MPID_nem_ib_descriptor_t desc; 58 } MPID_nem_ib_cell_elem_t; 59 59 60 60 typedef struct _ib_cell_pool { 61 MPID_nem_ib_ module_queue_t *queue;61 MPID_nem_ib_queue_t *queue; 62 62 int ncells; 63 63 pthread_spinlock_t lock; 64 } MPID_nem_ib_ module_cell_pool_t;64 } MPID_nem_ib_cell_pool_t; 65 65 66 extern MPID_nem_ib_ module_cell_pool_t MPID_nem_ib_module_cell_pool;66 extern MPID_nem_ib_cell_pool_t MPID_nem_ib_cell_pool; 67 67 68 int MPID_nem_ib_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,68 int MPID_nem_ib_init (MPID_nem_queue_ptr_t proc_recv_queue, 69 69 MPID_nem_queue_ptr_t proc_free_queue, 70 70 MPID_nem_cell_ptr_t proc_elements, … … 78 78 char **bc_val_p, 79 79 int *val_max_sz_p); 80 int MPID_nem_ib_ module_finalize (void);81 int MPID_nem_ib_ module_poll (MPID_nem_poll_dir_t in_or_out);82 int MPID_nem_ib_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);83 int MPID_nem_ib_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);84 int MPID_nem_ib_ module_ckpt_shutdown (void);85 int MPID_nem_ib_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);86 int MPID_nem_ib_ module_vc_init (MPIDI_VC_t *vc);87 int MPID_nem_ib_ module_vc_destroy(MPIDI_VC_t *vc);88 int MPID_nem_ib_ module_vc_terminate (MPIDI_VC_t *vc);80 int MPID_nem_ib_finalize (void); 81 int MPID_nem_ib_poll (MPID_nem_poll_dir_t in_or_out); 82 int MPID_nem_ib_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 83 int MPID_nem_ib_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 84 int MPID_nem_ib_ckpt_shutdown (void); 85 int MPID_nem_ib_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 86 int MPID_nem_ib_vc_init (MPIDI_VC_t *vc); 87 int MPID_nem_ib_vc_destroy(MPIDI_VC_t *vc); 88 int MPID_nem_ib_vc_terminate (MPIDI_VC_t *vc); 89 89 90 90 91 int MPID_nem_ib_ module_init_cell_pool(int n);92 int MPID_nem_ib_ module_get_cell(93 MPID_nem_ib_ module_cell_elem_t **e);94 void MPID_nem_ib_ module_return_cell(95 MPID_nem_ib_ module_cell_elem_t *ce);96 void MPID_nem_ib_ module_prep_cell_recv(97 MPID_nem_ib_ module_cell_elem_t *ce,91 int MPID_nem_ib_init_cell_pool(int n); 92 int MPID_nem_ib_get_cell( 93 MPID_nem_ib_cell_elem_t **e); 94 void MPID_nem_ib_return_cell( 95 MPID_nem_ib_cell_elem_t *ce); 96 void MPID_nem_ib_prep_cell_recv( 97 MPID_nem_ib_cell_elem_t *ce, 98 98 void* buf); 99 void MPID_nem_ib_ module_prep_cell_send(100 MPID_nem_ib_ module_cell_elem_t *ce,99 void MPID_nem_ib_prep_cell_send( 100 MPID_nem_ib_cell_elem_t *ce, 101 101 void* buf, uint32_t len); 102 int MPID_nem_ib_ module_add_cells(int n);102 int MPID_nem_ib_add_cells(int n); 103 103 104 #endif /* _IB_MODULE_IMPL_H */104 #endif /* IB_IMPL_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_init.c
- Property svn:mergeinfo set
r3391 r3763 9 9 #include "ib_device.h" 10 10 #include "ib_utils.h" 11 #include "ib_ module_cm.h"12 #include "ib_ module_priv.h"13 #include "ib_ module_impl.h"14 15 MPID_nem_netmod_funcs_t MPIDI_nem_ib_ module_funcs = {16 MPID_nem_ib_ module_init,17 MPID_nem_ib_ module_finalize,18 MPID_nem_ib_ module_ckpt_shutdown,19 MPID_nem_ib_ module_poll,20 MPID_nem_ib_ module_send,21 MPID_nem_ib_ module_get_business_card,22 MPID_nem_ib_ module_connect_to_root,23 MPID_nem_ib_ module_vc_init,24 MPID_nem_ib_ module_vc_destroy,25 MPID_nem_ib_ module_vc_terminate11 #include "ib_cm.h" 12 #include "ib_priv.h" 13 #include "ib_impl.h" 14 15 MPID_nem_netmod_funcs_t MPIDI_nem_ib_funcs = { 16 MPID_nem_ib_init, 17 MPID_nem_ib_finalize, 18 MPID_nem_ib_ckpt_shutdown, 19 MPID_nem_ib_poll, 20 MPID_nem_ib_send, 21 MPID_nem_ib_get_business_card, 22 MPID_nem_ib_connect_to_root, 23 MPID_nem_ib_vc_init, 24 MPID_nem_ib_vc_destroy, 25 MPID_nem_ib_vc_terminate 26 26 }; 27 27 … … 42 42 struct ibv_mr *module_elements_mr = NULL; 43 43 44 MPID_nem_ib_ module_queue_ptr_t MPID_nem_ib_module_vc_queue = 0;45 MPID_nem_ib_ module_cell_pool_t MPID_nem_ib_module_cell_pool;44 MPID_nem_ib_queue_ptr_t MPID_nem_ib_vc_queue = 0; 45 MPID_nem_ib_cell_pool_t MPID_nem_ib_cell_pool; 46 46 47 47 MPID_nem_ib_dev_param_t *MPID_nem_ib_dev_param_ptr = 0; … … 109 109 MPID_nem_ib_ctxt_ptr->ib_dev[i].nic = dev_list[i]; 110 110 111 mpi_errno = MPID_nem_ib_ module_open_hca(dev_list[i],111 mpi_errno = MPID_nem_ib_open_hca(dev_list[i], 112 112 &MPID_nem_ib_ctxt_ptr->ib_dev[i].context); 113 113 … … 116 116 } 117 117 118 mpi_errno = MPID_nem_ib_ module_alloc_pd118 mpi_errno = MPID_nem_ib_alloc_pd 119 119 (MPID_nem_ib_ctxt_ptr->ib_dev[i].context, 120 120 &MPID_nem_ib_ctxt_ptr->ib_dev[i].prot_domain, dev_list[i]); … … 124 124 } 125 125 126 mpi_errno = MPID_nem_ib_ module_get_dev_attr126 mpi_errno = MPID_nem_ib_get_dev_attr 127 127 (MPID_nem_ib_ctxt_ptr->ib_dev[i].context, 128 128 &MPID_nem_ib_ctxt_ptr->ib_dev[i].dev_attr, dev_list[i]); … … 142 142 for(j = 1; j <= total_ports; j++) { 143 143 144 if(MPID_nem_ib_ module_is_port_active(144 if(MPID_nem_ib_is_port_active( 145 145 MPID_nem_ib_ctxt_ptr->ib_dev[i].context, j)) { 146 146 MPID_nem_ib_ctxt_ptr->ib_dev[i].n_active_ports++; … … 173 173 for(j = 1; j <= total_ports; j++) { 174 174 175 if(MPID_nem_ib_ module_is_port_active(175 if(MPID_nem_ib_is_port_active( 176 176 MPID_nem_ib_ctxt_ptr->ib_dev[i].context, j)) { 177 177 178 178 NEM_IB_DBG("Opening port %u", j); 179 179 180 MPID_nem_ib_ module_get_port_prop(180 MPID_nem_ib_get_port_prop( 181 181 MPID_nem_ib_ctxt_ptr->ib_dev[i].context, 182 182 (uint8_t) j, … … 196 196 } 197 197 198 mpi_errno = MPID_nem_ib_ module_create_cq198 mpi_errno = MPID_nem_ib_create_cq 199 199 (MPID_nem_ib_ctxt_ptr->ib_dev[i].context, 200 200 &MPID_nem_ib_ctxt_ptr->ib_dev[i].cq, … … 208 208 } 209 209 210 mpi_errno = MPID_nem_ib_ module_create_srq210 mpi_errno = MPID_nem_ib_create_srq 211 211 (MPID_nem_ib_ctxt_ptr->ib_dev[i].context, 212 212 MPID_nem_ib_ctxt_ptr->ib_dev[i].prot_domain, … … 381 381 382 382 /** 383 * MPID_nem_ib_ module_init - Initialize the Nemesis IB module383 * MPID_nem_ib_init - Initialize the Nemesis IB module 384 384 * 385 385 * @proc_recv_queue: main recv queue for the process … … 408 408 409 409 #undef FUNCNAME 410 #define FUNCNAME MPID_nem_ib_ module_init410 #define FUNCNAME MPID_nem_ib_init 411 411 #undef FCNAME 412 412 #define FCNAME MPIDI_QUOTE(FUNCNAME) 413 413 414 int MPID_nem_ib_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,414 int MPID_nem_ib_init (MPID_nem_queue_ptr_t proc_recv_queue, 415 415 MPID_nem_queue_ptr_t proc_free_queue, 416 416 MPID_nem_cell_ptr_t proc_elements, … … 429 429 430 430 /* first make sure that our private fields in the vc fit into the area provided */ 431 MPIU_Assert(sizeof(MPID_nem_ib_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);431 MPIU_Assert(sizeof(MPID_nem_ib_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 432 432 433 433 INIT_NEM_IB_PROC_DESC(pg_rank); 434 434 435 mpi_errno = MPID_nem_ib_ module_init_cm_param();436 if(mpi_errno) { 437 MPIU_ERR_POP(mpi_errno); 438 } 439 440 mpi_errno = MPID_nem_ib_ module_init_dev_param();435 mpi_errno = MPID_nem_ib_init_cm_param(); 436 if(mpi_errno) { 437 MPIU_ERR_POP(mpi_errno); 438 } 439 440 mpi_errno = MPID_nem_ib_init_dev_param(); 441 441 if(mpi_errno) { 442 442 MPIU_ERR_POP(mpi_errno); … … 460 460 } 461 461 462 mpi_errno = MPID_nem_ib_ module_get_business_card462 mpi_errno = MPID_nem_ib_get_business_card 463 463 (pg_rank, bc_val_p, val_max_sz_p); 464 464 if(mpi_errno) { … … 472 472 /* Register the process and module elements */ 473 473 474 ret = MPID_nem_ib_ module_reg_mem474 ret = MPID_nem_ib_reg_mem 475 475 (MPID_nem_ib_ctxt_ptr->ib_dev[0].prot_domain, 476 476 (void *)proc_elements, … … 482 482 "**ibv_reg_mr", "**ibv_reg_mr %d", ret); 483 483 484 ret = MPID_nem_ib_ module_reg_mem484 ret = MPID_nem_ib_reg_mem 485 485 (MPID_nem_ib_ctxt_ptr->ib_dev[0].prot_domain, 486 486 (void *)module_elements, … … 499 499 MPID_nem_queue_init(MPID_nem_module_ib_free_queue); 500 500 501 mpi_errno = MPID_nem_ib_ module_init_cell_pool(501 mpi_errno = MPID_nem_ib_init_cell_pool( 502 502 MPID_nem_ib_dev_param_ptr->max_cell_elem); 503 503 … … 520 520 521 521 MPID_nem_cell_ptr_t c; 522 MPID_nem_ib_ module_cell_elem_t *ce;522 MPID_nem_ib_cell_elem_t *ce; 523 523 524 524 MPID_nem_queue_dequeue(MPID_nem_module_ib_free_queue, &c); 525 525 526 mpi_errno = MPID_nem_ib_ module_get_cell(&ce);526 mpi_errno = MPID_nem_ib_get_cell(&ce); 527 527 if(mpi_errno) { 528 528 MPIU_ERR_POP(mpi_errno); … … 531 531 ce->nem_cell = c; 532 532 533 MPID_nem_ib_ module_prep_cell_recv(ce, (void *) MPID_NEM_CELL_TO_PACKET(c));534 535 ret = MPID_nem_ib_ module_post_srq(533 MPID_nem_ib_prep_cell_recv(ce, (void *) MPID_NEM_CELL_TO_PACKET(c)); 534 535 ret = MPID_nem_ib_post_srq( 536 536 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 537 537 &ce->desc.u.r_wr); … … 545 545 /* Enable watch for SRQ events */ 546 546 547 ret = MPID_nem_ib_mod ule_modify_srq(547 ret = MPID_nem_ib_modify_srq( 548 548 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 549 549 MPID_nem_ib_dev_param_ptr->max_srq_wr, … … 559 559 *module_free_queue = MPID_nem_module_ib_free_queue; 560 560 561 MPID_nem_ib_ module_queue_init(&MPID_nem_ib_module_vc_queue);561 MPID_nem_ib_queue_init(&MPID_nem_ib_vc_queue); 562 562 563 563 for(i = 0; i < MPID_nem_ib_dev_param_ptr->max_vc_queue; i++) { 564 564 565 MPID_nem_ib_ module_queue_elem_t *e;566 567 mpi_errno = MPID_nem_ib_ module_queue_new_elem(&e, NULL);565 MPID_nem_ib_queue_elem_t *e; 566 567 mpi_errno = MPID_nem_ib_queue_new_elem(&e, NULL); 568 568 if(mpi_errno) { 569 569 MPIU_ERR_POP(mpi_errno); 570 570 } 571 571 572 MPID_nem_ib_ module_queue_free(MPID_nem_ib_module_vc_queue, e);573 } 574 575 NEM_IB_DBG("End of ib_ module_init module elem %d, proc elem %d, "572 MPID_nem_ib_queue_free(MPID_nem_ib_vc_queue, e); 573 } 574 575 NEM_IB_DBG("End of ib_init module elem %d, proc elem %d, " 576 576 "posted SRQ %d\n", 577 577 num_module_elements, mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_param.c
r100 r3763 6 6 #include "mpidimpl.h" 7 7 #include "ib_device.h" 8 #include "ib_ module_cm.h"8 #include "ib_cm.h" 9 9 10 int MPID_nem_ib_ module_init_dev_param();11 int MPID_nem_ib_ module_init_cm_param();10 int MPID_nem_ib_init_dev_param(); 11 int MPID_nem_ib_init_cm_param(); 12 12 13 13 #undef FUNCNAME 14 #define FUNCNAME MPID_nem_ib_ module_init_dev_param14 #define FUNCNAME MPID_nem_ib_init_dev_param 15 15 #undef FCNAME 16 16 #define FCNAME MPIDI_QUOTE(FUNCNAME) 17 17 18 int MPID_nem_ib_ module_init_dev_param()18 int MPID_nem_ib_init_dev_param() 19 19 { 20 20 int mpi_errno = MPI_SUCCESS; … … 64 64 65 65 #undef FUNCNAME 66 #define FUNCNAME MPID_nem_ib_ module_init_cm_param66 #define FUNCNAME MPID_nem_ib_init_cm_param 67 67 #undef FCNAME 68 68 #define FCNAME MPIDI_QUOTE(FUNCNAME) 69 69 70 int MPID_nem_ib_ module_init_cm_param()70 int MPID_nem_ib_init_cm_param() 71 71 { 72 72 int mpi_errno = MPI_SUCCESS; … … 98 98 99 99 #if 0 100 int MPID_nem_ib_ module_init_param(MPID_nem_ib_device_ptr_t dev)100 int MPID_nem_ib_init_param(MPID_nem_ib_device_ptr_t dev) 101 101 { 102 102 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_poll.c
- Property svn:mergeinfo set
r3391 r3763 6 6 #include "mpidimpl.h" 7 7 #include "mpid_nem_impl.h" 8 #include "ib_ module_impl.h"8 #include "ib_impl.h" 9 9 #include "ib_device.h" 10 #include "ib_ module_cm.h"10 #include "ib_cm.h" 11 11 #include "ib_utils.h" 12 12 13 uint32_t MPID_nem_ib_ module_refill_srq(13 uint32_t MPID_nem_ib_refill_srq( 14 14 struct ibv_srq *srq, uint32_t max_post); 15 15 … … 64 64 65 65 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq_n_posted += 66 MPID_nem_ib_ module_refill_srq(66 MPID_nem_ib_refill_srq( 67 67 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 68 68 MPID_nem_ib_dev_param_ptr->max_srq_wr - … … 86 86 MPID_nem_ib_dev_param_ptr->srq_limit; 87 87 88 if (MPID_nem_ib_mod ule_modify_srq(88 if (MPID_nem_ib_modify_srq( 89 89 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 90 90 MPID_nem_ib_dev_param_ptr->max_srq_wr, … … 105 105 } 106 106 107 uint32_t MPID_nem_ib_ module_refill_srq(107 uint32_t MPID_nem_ib_refill_srq( 108 108 struct ibv_srq *srq, uint32_t max_post) 109 109 { 110 110 uint32_t post_count = 0; 111 111 MPID_nem_cell_ptr_t c; 112 MPID_nem_ib_ module_cell_elem_t *ce;113 MPID_nem_ib_ module_cell_elem_t *ce_root;114 MPID_nem_ib_ module_cell_elem_t *ce_prev;112 MPID_nem_ib_cell_elem_t *ce; 113 MPID_nem_ib_cell_elem_t *ce_root; 114 MPID_nem_ib_cell_elem_t *ce_prev; 115 115 int ret; 116 116 … … 122 122 MPID_nem_queue_dequeue(MPID_nem_module_ib_free_queue, &c); 123 123 124 MPID_nem_ib_ module_get_cell(&ce);124 MPID_nem_ib_get_cell(&ce); 125 125 126 126 ce->nem_cell = c; 127 127 128 MPID_nem_ib_ module_prep_cell_recv(ce,128 MPID_nem_ib_prep_cell_recv(ce, 129 129 (void *) MPID_NEM_CELL_TO_PACKET(c)); 130 130 … … 143 143 144 144 /* Post all of them in a list */ 145 ret = MPID_nem_ib_ module_post_srq(145 ret = MPID_nem_ib_post_srq( 146 146 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 147 147 &ce_root->desc.u.r_wr); … … 162 162 163 163 #undef FUNCNAME 164 #define FUNCNAME MPID_nem_ib_ module_poll164 #define FUNCNAME MPID_nem_ib_poll 165 165 #undef FCNAME 166 166 #define FCNAME MPIDI_QUOTE(FUNCNAME) 167 167 168 int MPID_nem_ib_ module_poll (MPID_nem_poll_dir_t in_or_out)168 int MPID_nem_ib_poll (MPID_nem_poll_dir_t in_or_out) 169 169 { 170 170 int mpi_errno = MPI_SUCCESS; 171 171 int ret; 172 MPID_nem_ib_ module_queue_elem_t *e, *sqe;173 MPID_nem_ib_ module_cell_elem_t *ce;172 MPID_nem_ib_queue_elem_t *e, *sqe; 173 MPID_nem_ib_cell_elem_t *ce; 174 174 MPIDI_VC_t *vc; 175 175 struct ibv_wc wc; 176 176 177 ret = MPID_nem_ib_ module_poll_cq(177 ret = MPID_nem_ib_poll_cq( 178 178 MPID_nem_ib_ctxt_ptr->ib_dev[0].cq, &wc); 179 179 … … 184 184 185 185 /* Got valid completion */ 186 ce = (MPID_nem_ib_ module_cell_elem_t *) wc.wr_id;186 ce = (MPID_nem_ib_cell_elem_t *) wc.wr_id; 187 187 188 188 switch(wc.opcode) { … … 196 196 VC_FIELD(ce->vc, avail_send_wqes)++; 197 197 198 MPID_nem_ib_ module_return_cell(ce);198 MPID_nem_ib_return_cell(ce); 199 199 200 200 break; … … 207 207 ce->nem_cell); 208 208 209 MPID_nem_ib_ module_return_cell(ce);209 MPID_nem_ib_return_cell(ce); 210 210 211 211 pthread_spin_lock( … … 224 224 225 225 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq_n_posted += 226 MPID_nem_ib_ module_refill_srq(226 MPID_nem_ib_refill_srq( 227 227 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 228 228 MPID_nem_ib_dev_param_ptr->max_srq_wr - … … 243 243 } 244 244 245 if(!MPID_nem_ib_ module_queue_empty(MPID_nem_ib_module_vc_queue)) {245 if(!MPID_nem_ib_queue_empty(MPID_nem_ib_vc_queue)) { 246 246 247 247 /* We got VCs to process, get busy! */ 248 248 249 MPID_nem_ib_ module_queue_dequeue(MPID_nem_ib_module_vc_queue, &e);249 MPID_nem_ib_queue_dequeue(MPID_nem_ib_vc_queue, &e); 250 250 251 251 vc = (MPIDI_VC_t *) e->data; … … 255 255 /* Connected */ 256 256 257 while(!MPID_nem_ib_ module_queue_empty(258 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue)) &&257 while(!MPID_nem_ib_queue_empty( 258 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue)) && 259 259 VC_FIELD(vc, avail_send_wqes)) { 260 260 261 MPID_nem_ib_ module_queue_dequeue(262 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue),261 MPID_nem_ib_queue_dequeue( 262 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue), 263 263 &sqe); 264 264 265 ce = (MPID_nem_ib_ module_cell_elem_t *) sqe->data;265 ce = (MPID_nem_ib_cell_elem_t *) sqe->data; 266 266 267 267 NEM_IB_DBG("Cell to send %p, Len %d", 268 268 ce->nem_cell, ce->datalen); 269 269 270 ret = MPID_nem_ib_ module_post_send(VC_FIELD(vc, qp),270 ret = MPID_nem_ib_post_send(VC_FIELD(vc, qp), 271 271 &ce->desc.u.s_wr); 272 272 … … 277 277 } 278 278 279 if(!MPID_nem_ib_ module_queue_empty(280 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue))) {279 if(!MPID_nem_ib_queue_empty( 280 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue))) { 281 281 /* Still needs processing. 282 282 * Back to the queue you go! */ 283 MPID_nem_ib_ module_queue_enqueue(284 MPID_nem_ib_ module_vc_queue, e);283 MPID_nem_ib_queue_enqueue( 284 MPID_nem_ib_vc_queue, e); 285 285 } else { 286 286 … … 293 293 /* Not connected, so put it back on queue */ 294 294 295 MPID_nem_ib_ module_queue_enqueue(296 MPID_nem_ib_ module_vc_queue, e);295 MPID_nem_ib_queue_enqueue( 296 MPID_nem_ib_vc_queue, e); 297 297 } 298 298 } mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_priv.c
- Property svn:mergeinfo set
r100 r3763 4 4 */ 5 5 #include "mpidimpl.h" 6 #include "ib_ module_priv.h"6 #include "ib_priv.h" 7 7 #include "ib_utils.h" 8 8 … … 10 10 11 11 /** 12 * MPID_nem_ib_ module_get_wc_err_string -12 * MPID_nem_ib_get_wc_err_string - 13 13 * Places the correct error string 14 14 * according to wc->status. … … 17 17 */ 18 18 19 static void MPID_nem_ib_ module_get_wc_err_string(int err_code)19 static void MPID_nem_ib_get_wc_err_string(int err_code) 20 20 { 21 21 switch(err_code) { … … 100 100 101 101 #undef FUNCNAME 102 #define FUNCNAME MPID_nem_ib_ module_open_hca103 #undef FCNAME 104 #define FCNAME MPIDI_QUOTE(FUNCNAME) 105 int MPID_nem_ib_ module_open_hca(struct ibv_device *dev,102 #define FUNCNAME MPID_nem_ib_open_hca 103 #undef FCNAME 104 #define FCNAME MPIDI_QUOTE(FUNCNAME) 105 int MPID_nem_ib_open_hca(struct ibv_device *dev, 106 106 struct ibv_context **ctxt) 107 107 { … … 132 132 133 133 #undef FUNCNAME 134 #define FUNCNAME MPID_nem_ib_ module_alloc_pd135 #undef FCNAME 136 #define FCNAME MPIDI_QUOTE(FUNCNAME) 137 int MPID_nem_ib_ module_alloc_pd(struct ibv_context *ctxt,134 #define FUNCNAME MPID_nem_ib_alloc_pd 135 #undef FCNAME 136 #define FCNAME MPIDI_QUOTE(FUNCNAME) 137 int MPID_nem_ib_alloc_pd(struct ibv_context *ctxt, 138 138 struct ibv_pd **pd, 139 139 struct ibv_device *dev) … … 156 156 157 157 /** 158 * MPID_nem_ib_ module_get_dev_attr - Gets IB device attributes158 * MPID_nem_ib_get_dev_attr - Gets IB device attributes 159 159 * 160 160 * @ctxt: Context of IB device for which protection … … 165 165 166 166 #undef FUNCNAME 167 #define FUNCNAME MPID_nem_ib_ module_get_dev_attr168 #undef FCNAME 169 #define FCNAME MPIDI_QUOTE(FUNCNAME) 170 int MPID_nem_ib_ module_get_dev_attr(struct ibv_context *ctxt,167 #define FUNCNAME MPID_nem_ib_get_dev_attr 168 #undef FCNAME 169 #define FCNAME MPIDI_QUOTE(FUNCNAME) 170 int MPID_nem_ib_get_dev_attr(struct ibv_context *ctxt, 171 171 struct ibv_device_attr *dev_attr, 172 172 struct ibv_device *dev) … … 203 203 204 204 #undef FUNCNAME 205 #define FUNCNAME MPID_nem_ib_ module_create_cq206 #undef FCNAME 207 #define FCNAME MPIDI_QUOTE(FUNCNAME) 208 int MPID_nem_ib_ module_create_cq(struct ibv_context *ctxt,205 #define FUNCNAME MPID_nem_ib_create_cq 206 #undef FCNAME 207 #define FCNAME MPIDI_QUOTE(FUNCNAME) 208 int MPID_nem_ib_create_cq(struct ibv_context *ctxt, 209 209 struct ibv_cq **cq, 210 210 struct ibv_comp_channel **comp_channel, … … 259 259 260 260 #undef FUNCNAME 261 #define FUNCNAME MPID_nem_ib_ module_create_srq262 #undef FCNAME 263 #define FCNAME MPIDI_QUOTE(FUNCNAME) 264 int MPID_nem_ib_ module_create_srq(struct ibv_context *ctxt,261 #define FUNCNAME MPID_nem_ib_create_srq 262 #undef FCNAME 263 #define FCNAME MPIDI_QUOTE(FUNCNAME) 264 int MPID_nem_ib_create_srq(struct ibv_context *ctxt, 265 265 struct ibv_pd *pd, 266 266 struct ibv_srq **srq, … … 300 300 301 301 /** 302 * MPID_nem_ib_ module_is_port_active - Finds out if a particular302 * MPID_nem_ib_is_port_active - Finds out if a particular 303 303 * port is active or not. 304 304 * … … 311 311 312 312 #undef FUNCNAME 313 #define FUNCNAME MPID_nem_ib_ module_is_port_active314 #undef FCNAME 315 #define FCNAME MPIDI_QUOTE(FUNCNAME) 316 317 int MPID_nem_ib_ module_is_port_active(struct ibv_context *ctxt,313 #define FUNCNAME MPID_nem_ib_is_port_active 314 #undef FCNAME 315 #define FCNAME MPIDI_QUOTE(FUNCNAME) 316 317 int MPID_nem_ib_is_port_active(struct ibv_context *ctxt, 318 318 uint8_t port_num) 319 319 { … … 339 339 340 340 #undef FUNCNAME 341 #define FUNCNAME MPID_nem_ib_ module_get_port_prop342 #undef FCNAME 343 #define FCNAME MPIDI_QUOTE(FUNCNAME) 344 345 int MPID_nem_ib_ module_get_port_prop(struct ibv_context *ctxt,341 #define FUNCNAME MPID_nem_ib_get_port_prop 342 #undef FCNAME 343 #define FCNAME MPIDI_QUOTE(FUNCNAME) 344 345 int MPID_nem_ib_get_port_prop(struct ibv_context *ctxt, 346 346 uint8_t port_num, struct ibv_port_attr *attr) 347 347 { … … 354 354 355 355 #undef FUNCNAME 356 #define FUNCNAME MPID_nem_ib_ module_reg_mem357 #undef FCNAME 358 #define FCNAME MPIDI_QUOTE(FUNCNAME) 359 360 int MPID_nem_ib_ module_reg_mem(struct ibv_pd *pd,356 #define FUNCNAME MPID_nem_ib_reg_mem 357 #undef FCNAME 358 #define FCNAME MPIDI_QUOTE(FUNCNAME) 359 360 int MPID_nem_ib_reg_mem(struct ibv_pd *pd, 361 361 void *addr, 362 362 size_t length, … … 383 383 384 384 #undef FUNCNAME 385 #define FUNCNAME MPID_nem_ib_ module_post_srq386 #undef FCNAME 387 #define FCNAME MPIDI_QUOTE(FUNCNAME) 388 389 int MPID_nem_ib_ module_post_srq(struct ibv_srq *srq,385 #define FUNCNAME MPID_nem_ib_post_srq 386 #undef FCNAME 387 #define FCNAME MPIDI_QUOTE(FUNCNAME) 388 389 int MPID_nem_ib_post_srq(struct ibv_srq *srq, 390 390 struct ibv_recv_wr *r_wr) 391 391 { … … 401 401 402 402 #undef FUNCNAME 403 #define FUNCNAME MPID_nem_ib_ module_post_send404 #undef FCNAME 405 #define FCNAME MPIDI_QUOTE(FUNCNAME) 406 407 int MPID_nem_ib_ module_post_send(struct ibv_qp *qp,403 #define FUNCNAME MPID_nem_ib_post_send 404 #undef FCNAME 405 #define FCNAME MPIDI_QUOTE(FUNCNAME) 406 407 int MPID_nem_ib_post_send(struct ibv_qp *qp, 408 408 struct ibv_send_wr *s_wr) 409 409 { … … 419 419 420 420 #undef FUNCNAME 421 #define FUNCNAME MPID_nem_ib_ module_poll_cq422 #undef FCNAME 423 #define FCNAME MPIDI_QUOTE(FUNCNAME) 424 425 int MPID_nem_ib_ module_poll_cq(struct ibv_cq *cq,421 #define FUNCNAME MPID_nem_ib_poll_cq 422 #undef FCNAME 423 #define FCNAME MPIDI_QUOTE(FUNCNAME) 424 425 int MPID_nem_ib_poll_cq(struct ibv_cq *cq, 426 426 struct ibv_wc *wc) 427 427 { … … 440 440 if(IBV_WC_SUCCESS != wc->status) { 441 441 442 MPID_nem_ib_ module_get_wc_err_string(wc->status);442 MPID_nem_ib_get_wc_err_string(wc->status); 443 443 444 444 NEM_IB_ERR("Got completion with error, id %lu, error %s", … … 458 458 459 459 #undef FUNCNAME 460 #define FUNCNAME MPID_nem_ib_mod ule_modify_srq461 #undef FCNAME 462 #define FCNAME MPIDI_QUOTE(FUNCNAME) 463 464 int MPID_nem_ib_mod ule_modify_srq(460 #define FUNCNAME MPID_nem_ib_modify_srq 461 #undef FCNAME 462 #define FCNAME MPIDI_QUOTE(FUNCNAME) 463 464 int MPID_nem_ib_modify_srq( 465 465 struct ibv_srq *srq, 466 466 uint32_t max_wr, mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_priv.h
- Property svn:mergeinfo set
r100 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #ifndef _IB_MODULE_PRIV_H6 #define _IB_MODULE_PRIV_H5 #ifndef IB_PRIV_H 6 #define IB_PRIV_H 7 7 8 8 #include <infiniband/verbs.h> 9 9 10 10 11 int MPID_nem_ib_ module_open_hca(struct ibv_device *dev,11 int MPID_nem_ib_open_hca(struct ibv_device *dev, 12 12 struct ibv_context **ctxt); 13 13 14 int MPID_nem_ib_ module_alloc_pd(struct ibv_context *ctxt,14 int MPID_nem_ib_alloc_pd(struct ibv_context *ctxt, 15 15 struct ibv_pd **pd, 16 16 struct ibv_device *dev); 17 17 18 int MPID_nem_ib_ module_create_cq(struct ibv_context *ctxt,18 int MPID_nem_ib_create_cq(struct ibv_context *ctxt, 19 19 struct ibv_cq **cq, 20 20 struct ibv_comp_channel **comp_channel, … … 22 22 struct ibv_device *dev); 23 23 24 int MPID_nem_ib_ module_create_srq(struct ibv_context *ctxt,24 int MPID_nem_ib_create_srq(struct ibv_context *ctxt, 25 25 struct ibv_pd *pd, 26 26 struct ibv_srq **srq, … … 28 28 struct ibv_device *dev); 29 29 30 int MPID_nem_ib_ module_get_dev_attr(struct ibv_context *ctxt,30 int MPID_nem_ib_get_dev_attr(struct ibv_context *ctxt, 31 31 struct ibv_device_attr *dev_attr, 32 32 struct ibv_device *dev); 33 33 34 int MPID_nem_ib_ module_is_port_active(struct ibv_context *ctxt,34 int MPID_nem_ib_is_port_active(struct ibv_context *ctxt, 35 35 uint8_t port_num); 36 36 37 int MPID_nem_ib_ module_get_port_prop(struct ibv_context *ctxt,37 int MPID_nem_ib_get_port_prop(struct ibv_context *ctxt, 38 38 uint8_t port_num, struct ibv_port_attr *attr); 39 39 40 int MPID_nem_ib_ module_reg_mem(struct ibv_pd *pd,40 int MPID_nem_ib_reg_mem(struct ibv_pd *pd, 41 41 void *addr, 42 42 size_t length, … … 44 44 struct ibv_mr **mr); 45 45 46 int MPID_nem_ib_ module_post_srq(struct ibv_srq *srq,46 int MPID_nem_ib_post_srq(struct ibv_srq *srq, 47 47 struct ibv_recv_wr *r_wr); 48 48 49 int MPID_nem_ib_ module_post_send(struct ibv_qp *qp,49 int MPID_nem_ib_post_send(struct ibv_qp *qp, 50 50 struct ibv_send_wr *s_wr); 51 51 52 int MPID_nem_ib_ module_poll_cq(struct ibv_cq *cq,52 int MPID_nem_ib_poll_cq(struct ibv_cq *cq, 53 53 struct ibv_wc *wc); 54 54 55 int MPID_nem_ib_mod ule_modify_srq(55 int MPID_nem_ib_modify_srq( 56 56 struct ibv_srq *srq, 57 57 uint32_t max_wr, 58 58 uint32_t srq_limit); 59 59 60 #endif /* _IB_MODULE_PRIV_H */60 #endif /* IB_PRIV_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_send.c
- Property svn:mergeinfo set
r3391 r3763 5 5 #define _GNU_SOURCE 6 6 #include "mpidimpl.h" 7 #include "ib_ module_impl.h"7 #include "ib_impl.h" 8 8 #include "ib_device.h" 9 #include "ib_ module_cm.h"9 #include "ib_cm.h" 10 10 #include "ib_utils.h" 11 11 12 12 #undef FUNCNAME 13 #define FUNCNAME MPID_nem_ib_ module_send13 #define FUNCNAME MPID_nem_ib_send 14 14 #undef FCNAME 15 15 #define FCNAME MPIDI_QUOTE(FUNCNAME) 16 16 17 int MPID_nem_ib_ module_send (MPIDI_VC_t *vc,17 int MPID_nem_ib_send (MPIDI_VC_t *vc, 18 18 MPID_nem_cell_ptr_t cell, 19 19 int datalen) … … 22 22 int ret, i; 23 23 MPID_nem_ib_cm_remote_id_ptr_t r_info; 24 MPID_nem_ib_ module_queue_elem_t *vce;25 MPID_nem_ib_ module_queue_elem_t *sqe;26 MPID_nem_ib_ module_cell_elem_t *ce;24 MPID_nem_ib_queue_elem_t *vce; 25 MPID_nem_ib_queue_elem_t *sqe; 26 MPID_nem_ib_cell_elem_t *ce; 27 27 28 28 /* Check if VC is connected already */ … … 31 31 32 32 /* Process queued sends */ 33 while(!MPID_nem_ib_ module_queue_empty(34 (MPID_nem_ib_ module_queue_t *)33 while(!MPID_nem_ib_queue_empty( 34 (MPID_nem_ib_queue_t *) 35 35 VC_FIELD(vc, ib_send_queue)) && 36 36 VC_FIELD(vc, avail_send_wqes)) { 37 37 38 MPID_nem_ib_ module_queue_dequeue(39 (MPID_nem_ib_ module_queue_t *) VC_FIELD(vc, ib_send_queue),38 MPID_nem_ib_queue_dequeue( 39 (MPID_nem_ib_queue_t *) VC_FIELD(vc, ib_send_queue), 40 40 &sqe); 41 41 42 ce = (MPID_nem_ib_ module_cell_elem_t *) sqe->data;42 ce = (MPID_nem_ib_cell_elem_t *) sqe->data; 43 43 44 44 NEM_IB_DBG("Cell to send %p, Len %d", 45 45 ce->nem_cell, ce->datalen); 46 46 47 ret = MPID_nem_ib_ module_post_send(VC_FIELD(vc, qp),47 ret = MPID_nem_ib_post_send(VC_FIELD(vc, qp), 48 48 &ce->desc.u.s_wr); 49 49 … … 54 54 } 55 55 56 mpi_errno = MPID_nem_ib_ module_get_cell(&ce);56 mpi_errno = MPID_nem_ib_get_cell(&ce); 57 57 58 58 if(mpi_errno) { … … 64 64 ce->vc = vc; 65 65 66 MPID_nem_ib_ module_prep_cell_send(ce,66 MPID_nem_ib_prep_cell_send(ce, 67 67 (void *) MPID_NEM_CELL_TO_PACKET(cell), 68 68 (uint32_t) (datalen + MPID_NEM_MPICH2_HEAD_LEN)); … … 72 72 * was emptied */ 73 73 74 ret = MPID_nem_ib_ module_post_send(VC_FIELD(vc, qp),74 ret = MPID_nem_ib_post_send(VC_FIELD(vc, qp), 75 75 &ce->desc.u.s_wr); 76 76 … … 85 85 86 86 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq_n_posted += 87 MPID_nem_ib_ module_refill_srq(87 MPID_nem_ib_refill_srq( 88 88 MPID_nem_ib_ctxt_ptr->ib_dev[0].srq, 1); 89 89 } … … 93 93 if(!VC_FIELD(vc, in_queue)) { 94 94 95 MPID_nem_ib_ module_queue_alloc(96 MPID_nem_ib_ module_vc_queue, &vce);95 MPID_nem_ib_queue_alloc( 96 MPID_nem_ib_vc_queue, &vce); 97 97 98 98 vce->data = vc; … … 100 100 VC_FIELD(vc, in_queue) = 1; 101 101 102 MPID_nem_ib_ module_queue_enqueue(103 MPID_nem_ib_ module_vc_queue, vce);102 MPID_nem_ib_queue_enqueue( 103 MPID_nem_ib_vc_queue, vce); 104 104 105 105 } 106 106 107 107 /* Add this to the channel send queue */ 108 MPID_nem_ib_ module_queue_alloc(109 (MPID_nem_ib_ module_queue_t *)(VC_FIELD(vc, ib_send_queue)), &sqe);108 MPID_nem_ib_queue_alloc( 109 (MPID_nem_ib_queue_t *)(VC_FIELD(vc, ib_send_queue)), &sqe); 110 110 111 111 sqe->data = (void *) ce; 112 112 113 MPID_nem_ib_ module_queue_enqueue(114 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue), sqe);113 MPID_nem_ib_queue_enqueue( 114 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue), sqe); 115 115 } 116 116 … … 121 121 * done with it */ 122 122 123 mpi_errno = MPID_nem_ib_ module_get_cell(&ce);123 mpi_errno = MPID_nem_ib_get_cell(&ce); 124 124 125 125 if(mpi_errno) { … … 131 131 ce->vc = vc; 132 132 133 MPID_nem_ib_ module_prep_cell_send(ce,133 MPID_nem_ib_prep_cell_send(ce, 134 134 (void *) MPID_NEM_CELL_TO_PACKET(cell), 135 135 (uint32_t) (datalen + MPID_NEM_MPICH2_HEAD_LEN)); 136 136 137 137 /* Add this to the channel send queue */ 138 MPID_nem_ib_ module_queue_alloc(139 (MPID_nem_ib_ module_queue_t *)(VC_FIELD(vc, ib_send_queue)), &sqe);138 MPID_nem_ib_queue_alloc( 139 (MPID_nem_ib_queue_t *)(VC_FIELD(vc, ib_send_queue)), &sqe); 140 140 141 141 sqe->data = (void *) ce; … … 151 151 MPIU_Assert(VC_FIELD(vc, in_queue) == 1); 152 152 153 MPID_nem_ib_ module_queue_enqueue(154 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue), sqe);153 MPID_nem_ib_queue_enqueue( 154 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue), sqe); 155 155 156 156 } else { … … 165 165 166 166 r_info = (MPID_nem_ib_cm_remote_id_ptr_t) 167 MPID_nem_ib_ module_lookup_hash_table(167 MPID_nem_ib_lookup_hash_table( 168 168 &MPID_nem_ib_cm_ctxt_ptr->hash_table, 169 169 VC_FIELD(vc, node_guid), VC_FIELD(vc, ud_qpn)); … … 177 177 } 178 178 179 MPID_nem_ib_ module_queue_alloc(180 MPID_nem_ib_ module_vc_queue, &vce);179 MPID_nem_ib_queue_alloc( 180 MPID_nem_ib_vc_queue, &vce); 181 181 182 182 vce->data = vc; … … 186 186 VC_FIELD(vc, in_queue) = 1; 187 187 188 MPID_nem_ib_ module_queue_enqueue(189 MPID_nem_ib_ module_vc_queue, vce);188 MPID_nem_ib_queue_enqueue( 189 MPID_nem_ib_vc_queue, vce); 190 190 191 191 /* Get an "cell" from our pool */ 192 192 193 mpi_errno = MPID_nem_ib_ module_get_cell(&ce);193 mpi_errno = MPID_nem_ib_get_cell(&ce); 194 194 195 195 if(mpi_errno) { … … 201 201 ce->vc = vc; 202 202 203 MPID_nem_ib_ module_prep_cell_send(ce,203 MPID_nem_ib_prep_cell_send(ce, 204 204 (void *) MPID_NEM_CELL_TO_PACKET(cell), 205 205 (uint32_t) (datalen + MPID_NEM_MPICH2_HEAD_LEN)); 206 206 207 207 /* Add this to the channel send queue */ 208 MPID_nem_ib_ module_queue_alloc(209 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue), &sqe);208 MPID_nem_ib_queue_alloc( 209 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue), &sqe); 210 210 211 211 sqe->data = (void *) ce; 212 212 213 MPID_nem_ib_ module_queue_enqueue(214 (MPID_nem_ib_ module_queue_t *)VC_FIELD(vc, ib_send_queue), sqe);213 MPID_nem_ib_queue_enqueue( 214 (MPID_nem_ib_queue_t *)VC_FIELD(vc, ib_send_queue), sqe); 215 215 216 216 } mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_utils.c
r100 r3763 22 22 23 23 #undef FUNCNAME 24 #define FUNCNAME MPID_nem_ib_ module_init_hash_table25 #undef FCNAME 26 #define FCNAME MPIDI_QUOTE(FUNCNAME) 27 28 int MPID_nem_ib_ module_init_hash_table(29 MPID_nem_ib_ module_hash_table_ptr_t table,24 #define FUNCNAME MPID_nem_ib_init_hash_table 25 #undef FCNAME 26 #define FCNAME MPIDI_QUOTE(FUNCNAME) 27 28 int MPID_nem_ib_init_hash_table( 29 MPID_nem_ib_hash_table_ptr_t table, 30 30 uint32_t nentries) 31 31 { … … 33 33 34 34 table->entries = MPIU_Malloc( 35 sizeof(MPID_nem_ib_ module_hash_elem_t) * nentries);35 sizeof(MPID_nem_ib_hash_elem_t) * nentries); 36 36 table->num_entries = nentries; 37 37 38 38 if(NULL == table->entries) { 39 39 MPIU_CHKMEM_SETERR(mpi_errno, 40 sizeof(MPID_nem_ib_ module_hash_elem_t) * nentries,40 sizeof(MPID_nem_ib_hash_elem_t) * nentries, 41 41 "IB Module Hash Table"); 42 42 } 43 43 44 44 memset(table->entries, 0, 45 sizeof(MPID_nem_ib_ module_hash_elem_t) * nentries);45 sizeof(MPID_nem_ib_hash_elem_t) * nentries); 46 46 47 47 pthread_mutex_init(&table->hash_table_lock, NULL); … … 54 54 55 55 #undef FUNCNAME 56 #define FUNCNAME MPID_nem_ib_ module_insert_hash_elem57 #undef FCNAME 58 #define FCNAME MPIDI_QUOTE(FUNCNAME) 59 60 int MPID_nem_ib_ module_insert_hash_elem(61 MPID_nem_ib_ module_hash_table_ptr_t table,56 #define FUNCNAME MPID_nem_ib_insert_hash_elem 57 #undef FCNAME 58 #define FCNAME MPIDI_QUOTE(FUNCNAME) 59 60 int MPID_nem_ib_insert_hash_elem( 61 MPID_nem_ib_hash_table_ptr_t table, 62 62 uint64_t key, void *data, uint32_t uniq) 63 63 { 64 64 int mpi_errno = MPI_SUCCESS; 65 65 uint32_t hash_index; 66 MPID_nem_ib_ module_hash_elem_ptr_t start_elem;67 MPID_nem_ib_ module_hash_elem_ptr_t elem, new_elem;66 MPID_nem_ib_hash_elem_ptr_t start_elem; 67 MPID_nem_ib_hash_elem_ptr_t elem, new_elem; 68 68 69 69 MPIU_Assert(NULL != table); … … 87 87 88 88 /* Insert the element */ 89 new_elem = MPIU_Malloc(sizeof(MPID_nem_ib_ module_hash_elem_t));89 new_elem = MPIU_Malloc(sizeof(MPID_nem_ib_hash_elem_t)); 90 90 91 91 if(NULL == new_elem) { 92 92 MPIU_CHKMEM_SETERR(mpi_errno, 93 sizeof(MPID_nem_ib_ module_hash_elem_t),93 sizeof(MPID_nem_ib_hash_elem_t), 94 94 "IB Module Hash Table New Element"); 95 95 } 96 96 97 memset(new_elem, 0, sizeof(MPID_nem_ib_ module_hash_elem_t));97 memset(new_elem, 0, sizeof(MPID_nem_ib_hash_elem_t)); 98 98 99 99 new_elem->data = data; … … 117 117 118 118 #undef FUNCNAME 119 #define FUNCNAME MPID_nem_ib_ module_lookup_hash_table120 #undef FCNAME 121 #define FCNAME MPIDI_QUOTE(FUNCNAME) 122 123 void* MPID_nem_ib_ module_lookup_hash_table(124 MPID_nem_ib_ module_hash_table_ptr_t table,119 #define FUNCNAME MPID_nem_ib_lookup_hash_table 120 #undef FCNAME 121 #define FCNAME MPIDI_QUOTE(FUNCNAME) 122 123 void* MPID_nem_ib_lookup_hash_table( 124 MPID_nem_ib_hash_table_ptr_t table, 125 125 uint64_t key, uint32_t unique_id) 126 126 { 127 127 uint32_t hash_index; 128 128 void *data = NULL; 129 MPID_nem_ib_ module_hash_elem_ptr_t start_elem;130 MPID_nem_ib_ module_hash_elem_ptr_t elem;129 MPID_nem_ib_hash_elem_ptr_t start_elem; 130 MPID_nem_ib_hash_elem_ptr_t elem; 131 131 132 132 pthread_mutex_lock(&table->hash_table_lock); … … 159 159 160 160 #undef FUNCNAME 161 #define FUNCNAME MPID_nem_ib_ module_finalize_hash_table162 #undef FCNAME 163 #define FCNAME MPIDI_QUOTE(FUNCNAME) 164 165 void MPID_nem_ib_ module_finalize_hash_table(166 MPID_nem_ib_ module_hash_table_ptr_t table)161 #define FUNCNAME MPID_nem_ib_finalize_hash_table 162 #undef FCNAME 163 #define FCNAME MPIDI_QUOTE(FUNCNAME) 164 165 void MPID_nem_ib_finalize_hash_table( 166 MPID_nem_ib_hash_table_ptr_t table) 167 167 { 168 168 int i; 169 MPID_nem_ib_ module_hash_elem_ptr_t start_elem;170 MPID_nem_ib_ module_hash_elem_ptr_t elem, next_elem;169 MPID_nem_ib_hash_elem_ptr_t start_elem; 170 MPID_nem_ib_hash_elem_ptr_t elem, next_elem; 171 171 172 172 pthread_mutex_lock(&table->hash_table_lock); … … 196 196 197 197 #undef FUNCNAME 198 #define FUNCNAME MPID_nem_ib_ module_queue_init199 #undef FCNAME 200 #define FCNAME MPIDI_QUOTE(FUNCNAME) 201 202 int MPID_nem_ib_ module_queue_init(203 MPID_nem_ib_ module_queue_t **q)198 #define FUNCNAME MPID_nem_ib_queue_init 199 #undef FCNAME 200 #define FCNAME MPIDI_QUOTE(FUNCNAME) 201 202 int MPID_nem_ib_queue_init( 203 MPID_nem_ib_queue_t **q) 204 204 { 205 205 int mpi_errno = MPI_SUCCESS; … … 208 208 MPIU_Assert(NULL != q); 209 209 210 *q = MPIU_Malloc(sizeof(MPID_nem_ib_ module_queue_t));210 *q = MPIU_Malloc(sizeof(MPID_nem_ib_queue_t)); 211 211 212 212 if(NULL == *q) { 213 213 MPIU_CHKMEM_SETERR(mpi_errno, 214 sizeof(MPID_nem_ib_ module_queue_t),214 sizeof(MPID_nem_ib_queue_t), 215 215 "IB Module Queue"); 216 216 } 217 217 218 memset(*q, 0, sizeof(MPID_nem_ib_ module_queue_t));219 220 fn_exit: 221 return mpi_errno; 222 fn_fail: 223 goto fn_exit; 224 } 225 226 #undef FUNCNAME 227 #define FUNCNAME MPID_nem_ib_ module_queue_new_elem228 #undef FCNAME 229 #define FCNAME MPIDI_QUOTE(FUNCNAME) 230 231 int MPID_nem_ib_ module_queue_new_elem(232 MPID_nem_ib_ module_queue_elem_t **e, void *init_ptr)233 { 234 int mpi_errno = MPI_SUCCESS; 235 236 (*e) = MPIU_Malloc(sizeof(MPID_nem_ib_ module_queue_elem_t));218 memset(*q, 0, sizeof(MPID_nem_ib_queue_t)); 219 220 fn_exit: 221 return mpi_errno; 222 fn_fail: 223 goto fn_exit; 224 } 225 226 #undef FUNCNAME 227 #define FUNCNAME MPID_nem_ib_queue_new_elem 228 #undef FCNAME 229 #define FCNAME MPIDI_QUOTE(FUNCNAME) 230 231 int MPID_nem_ib_queue_new_elem( 232 MPID_nem_ib_queue_elem_t **e, void *init_ptr) 233 { 234 int mpi_errno = MPI_SUCCESS; 235 236 (*e) = MPIU_Malloc(sizeof(MPID_nem_ib_queue_elem_t)); 237 237 238 238 if (NULL == *e) { 239 239 MPIU_CHKMEM_SETERR (mpi_errno, 240 sizeof(MPID_nem_ib_ module_queue_elem_t),240 sizeof(MPID_nem_ib_queue_elem_t), 241 241 "IB module queue elem"); 242 242 } … … 251 251 252 252 #undef FUNCNAME 253 #define FUNCNAME MPID_nem_ib_ module_queue_empty254 #undef FCNAME 255 #define FCNAME MPIDI_QUOTE(FUNCNAME) 256 257 int MPID_nem_ib_ module_queue_empty(258 MPID_nem_ib_ module_queue_t *q)253 #define FUNCNAME MPID_nem_ib_queue_empty 254 #undef FCNAME 255 #define FCNAME MPIDI_QUOTE(FUNCNAME) 256 257 int MPID_nem_ib_queue_empty( 258 MPID_nem_ib_queue_t *q) 259 259 { 260 260 return (NULL == q->head); … … 262 262 263 263 #undef FUNCNAME 264 #define FUNCNAME MPID_nem_ib_ module_queue_dequeue265 #undef FCNAME 266 #define FCNAME MPIDI_QUOTE(FUNCNAME) 267 268 void MPID_nem_ib_ module_queue_dequeue(269 MPID_nem_ib_ module_queue_t *q,270 MPID_nem_ib_ module_queue_elem_t **e)264 #define FUNCNAME MPID_nem_ib_queue_dequeue 265 #undef FCNAME 266 #define FCNAME MPIDI_QUOTE(FUNCNAME) 267 268 void MPID_nem_ib_queue_dequeue( 269 MPID_nem_ib_queue_t *q, 270 MPID_nem_ib_queue_elem_t **e) 271 271 { 272 272 *e = q->head; … … 283 283 284 284 #undef FUNCNAME 285 #define FUNCNAME MPID_nem_ib_ module_queue_enqueue286 #undef FCNAME 287 #define FCNAME MPIDI_QUOTE(FUNCNAME) 288 289 void MPID_nem_ib_ module_queue_enqueue(290 MPID_nem_ib_ module_queue_t *q,291 MPID_nem_ib_ module_queue_elem_t *e)285 #define FUNCNAME MPID_nem_ib_queue_enqueue 286 #undef FCNAME 287 #define FCNAME MPIDI_QUOTE(FUNCNAME) 288 289 void MPID_nem_ib_queue_enqueue( 290 MPID_nem_ib_queue_t *q, 291 MPID_nem_ib_queue_elem_t *e) 292 292 { 293 293 if(NULL == q->tail) { … … 302 302 303 303 #undef FUNCNAME 304 #define FUNCNAME MPID_nem_ib_ module_queue_free305 #undef FCNAME 306 #define FCNAME MPIDI_QUOTE(FUNCNAME) 307 308 void MPID_nem_ib_ module_queue_free(309 MPID_nem_ib_ module_queue_t *q,310 MPID_nem_ib_ module_queue_elem_t *e)304 #define FUNCNAME MPID_nem_ib_queue_free 305 #undef FCNAME 306 #define FCNAME MPIDI_QUOTE(FUNCNAME) 307 308 void MPID_nem_ib_queue_free( 309 MPID_nem_ib_queue_t *q, 310 MPID_nem_ib_queue_elem_t *e) 311 311 { 312 312 e->next = q->free_queue; … … 315 315 316 316 #undef FUNCNAME 317 #define FUNCNAME MPID_nem_ib_ module_queue_alloc318 #undef FCNAME 319 #define FCNAME MPIDI_QUOTE(FUNCNAME) 320 321 int MPID_nem_ib_ module_queue_alloc(322 MPID_nem_ib_ module_queue_t *q,323 MPID_nem_ib_ module_queue_elem_t **e)317 #define FUNCNAME MPID_nem_ib_queue_alloc 318 #undef FCNAME 319 #define FCNAME MPIDI_QUOTE(FUNCNAME) 320 321 int MPID_nem_ib_queue_alloc( 322 MPID_nem_ib_queue_t *q, 323 MPID_nem_ib_queue_elem_t **e) 324 324 { 325 325 int mpi_errno = MPI_SUCCESS; … … 329 329 q->free_queue = q->free_queue->next; 330 330 } else { 331 *e = MPIU_Malloc(sizeof(MPID_nem_ib_ module_queue_elem_t));331 *e = MPIU_Malloc(sizeof(MPID_nem_ib_queue_elem_t)); 332 332 if(NULL == *e) { 333 333 MPIU_CHKMEM_SETERR(mpi_errno, 334 sizeof(MPID_nem_ib_ module_queue_elem_t),334 sizeof(MPID_nem_ib_queue_elem_t), 335 335 "IB Module Queue Element"); 336 336 } … … 344 344 345 345 #undef FUNCNAME 346 #define FUNCNAME MPID_nem_ib_ module_queue_finalize347 #undef FCNAME 348 #define FCNAME MPIDI_QUOTE(FUNCNAME) 349 350 void MPID_nem_ib_ module_queue_finalize(351 MPID_nem_ib_ module_queue_t *q)352 { 353 MPID_nem_ib_ module_queue_elem_t *e;354 355 while(!MPID_nem_ib_ module_queue_empty(q)) {356 357 MPID_nem_ib_ module_queue_dequeue(q, &e);346 #define FUNCNAME MPID_nem_ib_queue_finalize 347 #undef FCNAME 348 #define FCNAME MPIDI_QUOTE(FUNCNAME) 349 350 void MPID_nem_ib_queue_finalize( 351 MPID_nem_ib_queue_t *q) 352 { 353 MPID_nem_ib_queue_elem_t *e; 354 355 while(!MPID_nem_ib_queue_empty(q)) { 356 357 MPID_nem_ib_queue_dequeue(q, &e); 358 358 359 359 MPIU_Free(e); mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_utils.h
r3234 r3763 3 3 * See COPYRIGHT in top-level directory. 4 4 */ 5 #ifndef _IB_UTILS_H6 #define _IB_UTILS_H5 #ifndef IB_UTILS_H 6 #define IB_UTILS_H 7 7 8 8 #include <stdio.h> … … 27 27 char hostname[MAX_HOSTNAME_LEN]; 28 28 int rank; 29 } MPID_nem_ib_ module_proc_desc_t;29 } MPID_nem_ib_proc_desc_t; 30 30 31 MPID_nem_ib_ module_proc_desc_t me;31 MPID_nem_ib_proc_desc_t me; 32 32 33 33 … … 43 43 struct _hash_elem *prev; 44 44 struct _hash_elem *next; 45 } MPID_nem_ib_ module_hash_elem_t, *MPID_nem_ib_module_hash_elem_ptr_t;45 } MPID_nem_ib_hash_elem_t, *MPID_nem_ib_hash_elem_ptr_t; 46 46 47 47 typedef struct { 48 MPID_nem_ib_ module_hash_elem_ptr_t entries;48 MPID_nem_ib_hash_elem_ptr_t entries; 49 49 uint32_t num_entries; 50 50 pthread_mutex_t hash_table_lock; 51 } MPID_nem_ib_ module_hash_table_t, *MPID_nem_ib_module_hash_table_ptr_t;51 } MPID_nem_ib_hash_table_t, *MPID_nem_ib_hash_table_ptr_t; 52 52 53 53 typedef struct _ib_queue_elem { 54 54 void *data; 55 55 struct _ib_queue_elem *next; 56 } MPID_nem_ib_ module_queue_elem_t, *MPID_nem_ib_module_queue_elem_ptr_t;56 } MPID_nem_ib_queue_elem_t, *MPID_nem_ib_queue_elem_ptr_t; 57 57 58 58 typedef struct _ib_queue { 59 MPID_nem_ib_ module_queue_elem_t *head;60 MPID_nem_ib_ module_queue_elem_t *tail;61 MPID_nem_ib_ module_queue_elem_t *free_queue;62 } MPID_nem_ib_ module_queue_t, *MPID_nem_ib_module_queue_ptr_t;59 MPID_nem_ib_queue_elem_t *head; 60 MPID_nem_ib_queue_elem_t *tail; 61 MPID_nem_ib_queue_elem_t *free_queue; 62 } MPID_nem_ib_queue_t, *MPID_nem_ib_queue_ptr_t; 63 63 64 extern MPID_nem_ib_ module_queue_ptr_t MPID_nem_ib_module_vc_queue;64 extern MPID_nem_ib_queue_ptr_t MPID_nem_ib_vc_queue; 65 65 66 int MPID_nem_ib_ module_init_hash_table(67 MPID_nem_ib_ module_hash_table_ptr_t table,66 int MPID_nem_ib_init_hash_table( 67 MPID_nem_ib_hash_table_ptr_t table, 68 68 uint32_t nentries); 69 69 70 int MPID_nem_ib_ module_insert_hash_elem(71 MPID_nem_ib_ module_hash_table_ptr_t table,70 int MPID_nem_ib_insert_hash_elem( 71 MPID_nem_ib_hash_table_ptr_t table, 72 72 uint64_t key, 73 73 void *data, 74 74 uint32_t len); 75 75 76 void* MPID_nem_ib_ module_lookup_hash_table(77 MPID_nem_ib_ module_hash_table_ptr_t table,76 void* MPID_nem_ib_lookup_hash_table( 77 MPID_nem_ib_hash_table_ptr_t table, 78 78 uint64_t key, uint32_t unique_id); 79 79 80 void MPID_nem_ib_ module_finalize_hash_table(81 MPID_nem_ib_ module_hash_table_ptr_t table);80 void MPID_nem_ib_finalize_hash_table( 81 MPID_nem_ib_hash_table_ptr_t table); 82 82 83 int MPID_nem_ib_ module_queue_init(MPID_nem_ib_module_queue_t**);83 int MPID_nem_ib_queue_init(MPID_nem_ib_queue_t**); 84 84 85 int MPID_nem_ib_ module_queue_new_elem(86 MPID_nem_ib_ module_queue_elem_t **, void *init_ptr);85 int MPID_nem_ib_queue_new_elem( 86 MPID_nem_ib_queue_elem_t **, void *init_ptr); 87 87 88 int MPID_nem_ib_ module_queue_empty(MPID_nem_ib_module_queue_t *q);88 int MPID_nem_ib_queue_empty(MPID_nem_ib_queue_t *q); 89 89 90 void MPID_nem_ib_ module_queue_dequeue(91 MPID_nem_ib_ module_queue_t *q,92 MPID_nem_ib_ module_queue_elem_t **e);90 void MPID_nem_ib_queue_dequeue( 91 MPID_nem_ib_queue_t *q, 92 MPID_nem_ib_queue_elem_t **e); 93 93 94 void MPID_nem_ib_ module_queue_enqueue(95 MPID_nem_ib_ module_queue_t *q,96 MPID_nem_ib_ module_queue_elem_t *e);94 void MPID_nem_ib_queue_enqueue( 95 MPID_nem_ib_queue_t *q, 96 MPID_nem_ib_queue_elem_t *e); 97 97 98 void MPID_nem_ib_ module_queue_free(99 MPID_nem_ib_ module_queue_t *q,100 MPID_nem_ib_ module_queue_elem_t *e);98 void MPID_nem_ib_queue_free( 99 MPID_nem_ib_queue_t *q, 100 MPID_nem_ib_queue_elem_t *e); 101 101 102 int MPID_nem_ib_ module_queue_alloc(103 MPID_nem_ib_ module_queue_t *q,104 MPID_nem_ib_ module_queue_elem_t **e);102 int MPID_nem_ib_queue_alloc( 103 MPID_nem_ib_queue_t *q, 104 MPID_nem_ib_queue_elem_t **e); 105 105 106 void MPID_nem_ib_ module_queue_finalize(107 MPID_nem_ib_ module_queue_t *q);106 void MPID_nem_ib_queue_finalize( 107 MPID_nem_ib_queue_t *q); 108 108 109 109 #define INIT_NEM_IB_PROC_DESC(_rank) { \ … … 134 134 #endif 135 135 136 #endif /* _IB_UTILS_H */136 #endif /* IB_UTILS_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_vc_finalize.c
- Property svn:mergeinfo set
r3391 r3763 6 6 #define _GNU_SOURCE 7 7 #include "mpidimpl.h" 8 #include "ib_ module_impl.h"8 #include "ib_impl.h" 9 9 #include "ib_device.h" 10 #include "ib_ module_cm.h"10 #include "ib_cm.h" 11 11 #include "ib_utils.h" 12 12 13 13 #undef FUNCNAME 14 #define FUNCNAME MPID_nem_ib_ module_vc_finalize14 #define FUNCNAME MPID_nem_ib_vc_finalize 15 15 #undef FCNAME 16 16 #define FCNAME MPIDI_QUOTE(FUNCNAME) 17 17 18 int MPID_nem_ib_ module_vc_terminate (MPIDI_VC_t *vc)18 int MPID_nem_ib_vc_terminate (MPIDI_VC_t *vc) 19 19 { 20 20 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/ib/ib_vc_init.c
- Property svn:mergeinfo set
r3391 r3763 5 5 #define _GNU_SOURCE 6 6 #include "mpidimpl.h" 7 #include "ib_ module_impl.h"7 #include "ib_impl.h" 8 8 #include "ib_device.h" 9 #include "ib_ module_cm.h"9 #include "ib_cm.h" 10 10 #include "ib_utils.h" 11 11 12 12 #undef FUNCNAME 13 #define FUNCNAME MPID_nem_ib_ module_vc_init13 #define FUNCNAME MPID_nem_ib_vc_init 14 14 #undef FCNAME 15 15 #define FCNAME MPIDI_QUOTE(FUNCNAME) 16 16 17 int MPID_nem_ib_ module_vc_init (MPIDI_VC_t *vc,17 int MPID_nem_ib_vc_init (MPIDI_VC_t *vc, 18 18 const char *business_card) 19 19 { … … 84 84 remote_info->vc = (void *) vc; 85 85 86 mpi_errno = MPID_nem_ib_ module_insert_hash_elem(86 mpi_errno = MPID_nem_ib_insert_hash_elem( 87 87 &MPID_nem_ib_cm_ctxt_ptr->hash_table, 88 88 guid, (void *) remote_info, ud_qpn); … … 92 92 } 93 93 94 MPID_nem_ib_ module_queue_init(95 (MPID_nem_ib_ module_queue_t **)(&VC_FIELD(vc, ib_send_queue)));94 MPID_nem_ib_queue_init( 95 (MPID_nem_ib_queue_t **)(&VC_FIELD(vc, ib_send_queue))); 96 96 97 97 NEM_IB_DBG("VC Init called, vc->pg_rank %d, ud_qpn %u, dlid %u, GUID %lu", … … 105 105 106 106 #undef FUNCNAME 107 #define FUNCNAME MPID_nem_ib_ module_vc_destroy107 #define FUNCNAME MPID_nem_ib_vc_destroy 108 108 #undef FCNAME 109 109 #define FCNAME MPIDI_QUOTE(FUNCNAME) 110 int MPID_nem_ib_ module_vc_destroy(MPIDI_VC_t *vc)110 int MPID_nem_ib_vc_destroy(MPIDI_VC_t *vc) 111 111 { 112 112 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/Makefile.sm
r188 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 mx_ module_finalize.c mx_module_init.c mx_module_poll.c mx_module_send.c \5 mx_ module_register.c mx_module_test.c4 mx_finalize.c mx_init.c mx_poll.c mx_send.c \ 5 mx_register.c mx_test.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_finalize.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "mx_ module_impl.h"7 #include "mx_impl.h" 8 8 #include "myriexpress.h" 9 9 10 10 11 11 #undef FUNCNAME 12 #define FUNCNAME MPID_nem_mx_ module_finalize12 #define FUNCNAME MPID_nem_mx_finalize 13 13 #undef FCNAME 14 14 #define FCNAME MPIDI_QUOTE(FUNCNAME) 15 15 int 16 MPID_nem_mx_ module_finalize()16 MPID_nem_mx_finalize() 17 17 { 18 18 int mpi_errno = MPI_SUCCESS; … … 24 24 while(MPID_nem_module_mx_pendings_sends > 0) 25 25 { 26 MPID_nem_mx_ module_poll(MPID_NEM_POLL_OUT);26 MPID_nem_mx_poll(MPID_NEM_POLL_OUT); 27 27 } 28 28 ret = mx_close_endpoint(MPID_nem_module_mx_local_endpoint); … … 44 44 45 45 #undef FUNCNAME 46 #define FUNCNAME MPID_nem_mx_ module_ckpt_shutdown46 #define FUNCNAME MPID_nem_mx_ckpt_shutdown 47 47 #undef FCNAME 48 48 #define FCNAME MPIDI_QUOTE(FUNCNAME) 49 49 int 50 MPID_nem_mx_ module_ckpt_shutdown ()50 MPID_nem_mx_ckpt_shutdown () 51 51 { 52 52 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_impl.h
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #ifndef MX_ MODULE_IMPL_H8 #define MX_ MODULE_IMPL_H7 #ifndef MX_IMPL_H 8 #define MX_IMPL_H 9 9 #include <myriexpress.h> 10 10 #include "mpid_nem_impl.h" 11 11 12 int MPID_nem_mx_ module_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements,12 int MPID_nem_mx_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, 13 13 int num_proc_elements, MPID_nem_cell_ptr_t module_elements, int num_module_elements, 14 14 MPID_nem_queue_ptr_t *module_free_queue, int ckpt_restart, 15 15 MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p); 16 int MPID_nem_mx_ module_finalize (void);17 int MPID_nem_mx_ module_ckpt_shutdown (void);18 int MPID_nem_mx_ module_poll(MPID_nem_poll_dir_t in_or_out);19 int MPID_nem_mx_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);20 int MPID_nem_mx_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);21 int MPID_nem_mx_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);22 int MPID_nem_mx_ module_vc_init (MPIDI_VC_t *vc);23 int MPID_nem_mx_ module_vc_destroy(MPIDI_VC_t *vc);24 int MPID_nem_mx_ module_vc_terminate (MPIDI_VC_t *vc);16 int MPID_nem_mx_finalize (void); 17 int MPID_nem_mx_ckpt_shutdown (void); 18 int MPID_nem_mx_poll(MPID_nem_poll_dir_t in_or_out); 19 int MPID_nem_mx_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 20 int MPID_nem_mx_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 21 int MPID_nem_mx_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 22 int MPID_nem_mx_vc_init (MPIDI_VC_t *vc); 23 int MPID_nem_mx_vc_destroy(MPIDI_VC_t *vc); 24 int MPID_nem_mx_vc_terminate (MPIDI_VC_t *vc); 25 25 26 int MPID_nem_mx_ module_test (void);26 int MPID_nem_mx_test (void); 27 27 28 int MPID_mem_mx_ module_register_mem (void *p, int len);29 int MPID_nem_mx_ module_deregister_mem (void *p, int len);28 int MPID_mem_mx_register_mem (void *p, int len); 29 int MPID_nem_mx_deregister_mem (void *p, int len); 30 30 31 31 /* completion counter is atomically decremented when operation completes */ 32 int MPID_nem_mx_ module_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr);33 int MPID_nem_mx_ module_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr);32 int MPID_nem_mx_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr); 33 int MPID_nem_mx_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr); 34 34 35 35 /* large message transfer functions */ 36 int MPID_nem_mx_ module_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie);37 int MPID_nem_mx_ module_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie);38 int MPID_nem_mx_ module_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);39 int MPID_nem_mx_ module_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);40 int MPID_nem_mx_ module_lmt_send_post (struct iovec cookie);41 int MPID_nem_mx_ module_lmt_recv_post (struct iovec cookie);36 int MPID_nem_mx_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie); 37 int MPID_nem_mx_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie); 38 int MPID_nem_mx_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 39 int MPID_nem_mx_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 40 int MPID_nem_mx_lmt_send_post (struct iovec cookie); 41 int MPID_nem_mx_lmt_recv_post (struct iovec cookie); 42 42 43 43 #define MPID_NEM_CELL_LEN_MX (32*1024) … … 62 62 unsigned int remote_endpoint_id; /* uint32_t equivalent */ 63 63 unsigned long long remote_nic_id; /* uint64_t equivalent */ 64 } MPID_nem_mx_ module_vc_area;64 } MPID_nem_mx_vc_area; 65 65 66 66 /* accessor macro to private fields in VC */ 67 #define VC_FIELD(vc, field) (((MPID_nem_mx_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)67 #define VC_FIELD(vc, field) (((MPID_nem_mx_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 68 68 69 69 typedef struct MPID_nem_mx_cell mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_init.c
- Property svn:mergeinfo set
r3391 r3763 7 7 #include "myriexpress.h" 8 8 #include "mpid_nem_impl.h" 9 #include "mx_ module_impl.h"10 11 MPID_nem_netmod_funcs_t MPIDI_nem_mx_ module_funcs = {12 MPID_nem_mx_ module_init,13 MPID_nem_mx_ module_finalize,14 MPID_nem_mx_ module_ckpt_shutdown,15 MPID_nem_mx_ module_poll,16 MPID_nem_mx_ module_send,17 MPID_nem_mx_ module_get_business_card,18 MPID_nem_mx_ module_connect_to_root,19 MPID_nem_mx_ module_vc_init,20 MPID_nem_mx_ module_vc_destroy,21 MPID_nem_mx_ module_vc_terminate9 #include "mx_impl.h" 10 11 MPID_nem_netmod_funcs_t MPIDI_nem_mx_funcs = { 12 MPID_nem_mx_init, 13 MPID_nem_mx_finalize, 14 MPID_nem_mx_ckpt_shutdown, 15 MPID_nem_mx_poll, 16 MPID_nem_mx_send, 17 MPID_nem_mx_get_business_card, 18 MPID_nem_mx_connect_to_root, 19 MPID_nem_mx_vc_init, 20 MPID_nem_mx_vc_destroy, 21 MPID_nem_mx_vc_terminate 22 22 }; 23 23 … … 147 147 /* 148 148 int 149 MPID_nem_mx_ module_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements,149 MPID_nem_mx_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, 150 150 MPID_nem_cell_ptr_t module_elements, int num_module_elements, 151 151 MPID_nem_queue_ptr_t *module_free_queue) … … 166 166 167 167 #undef FUNCNAME 168 #define FUNCNAME MPID_nem_mx_ module_init169 #undef FCNAME 170 #define FCNAME MPIDI_QUOTE(FUNCNAME) 171 int 172 MPID_nem_mx_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,168 #define FUNCNAME MPID_nem_mx_init 169 #undef FCNAME 170 #define FCNAME MPIDI_QUOTE(FUNCNAME) 171 int 172 MPID_nem_mx_init (MPID_nem_queue_ptr_t proc_recv_queue, 173 173 MPID_nem_queue_ptr_t proc_free_queue, 174 174 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, … … 184 184 { 185 185 init_mx(pg_p); 186 mpi_errno = MPID_nem_mx_ module_get_business_card (pg_rank, bc_val_p, val_max_sz_p);186 mpi_errno = MPID_nem_mx_get_business_card (pg_rank, bc_val_p, val_max_sz_p); 187 187 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 188 188 } … … 209 209 210 210 #undef FUNCNAME 211 #define FUNCNAME MPID_nem_mx_ module_get_business_card212 #undef FCNAME 213 #define FCNAME MPIDI_QUOTE(FUNCNAME) 214 int 215 MPID_nem_mx_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p)211 #define FUNCNAME MPID_nem_mx_get_business_card 212 #undef FCNAME 213 #define FCNAME MPIDI_QUOTE(FUNCNAME) 214 int 215 MPID_nem_mx_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p) 216 216 { 217 217 int mpi_errno = MPI_SUCCESS; … … 253 253 254 254 #undef FUNCNAME 255 #define FUNCNAME MPID_nem_mx_ module_get_from_bc256 #undef FCNAME 257 #define FCNAME MPIDI_QUOTE(FUNCNAME) 258 int 259 MPID_nem_mx_ module_get_from_bc (const char *business_card, uint32_t *remote_endpoint_id, uint64_t *remote_nic_id)255 #define FUNCNAME MPID_nem_mx_get_from_bc 256 #undef FCNAME 257 #define FCNAME MPIDI_QUOTE(FUNCNAME) 258 int 259 MPID_nem_mx_get_from_bc (const char *business_card, uint32_t *remote_endpoint_id, uint64_t *remote_nic_id) 260 260 { 261 261 int mpi_errno = MPI_SUCCESS; … … 285 285 286 286 #undef FUNCNAME 287 #define FUNCNAME MPID_nem_mx_ module_connect_to_root288 #undef FCNAME 289 #define FCNAME MPIDI_QUOTE(FUNCNAME) 290 int 291 MPID_nem_mx_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc)287 #define FUNCNAME MPID_nem_mx_connect_to_root 288 #undef FCNAME 289 #define FCNAME MPIDI_QUOTE(FUNCNAME) 290 int 291 MPID_nem_mx_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc) 292 292 { 293 293 int mpi_errno = MPI_SUCCESS; … … 299 299 300 300 #undef FUNCNAME 301 #define FUNCNAME MPID_nem_mx_ module_vc_init302 #undef FCNAME 303 #define FCNAME MPIDI_QUOTE(FUNCNAME) 304 int 305 MPID_nem_mx_ module_vc_init (MPIDI_VC_t *vc, const char *business_card)301 #define FUNCNAME MPID_nem_mx_vc_init 302 #undef FCNAME 303 #define FCNAME MPIDI_QUOTE(FUNCNAME) 304 int 305 MPID_nem_mx_vc_init (MPIDI_VC_t *vc, const char *business_card) 306 306 { 307 307 int mpi_errno = MPI_SUCCESS; … … 309 309 310 310 /* first make sure that our private fields in the vc fit into the area provided */ 311 MPIU_Assert(sizeof(MPID_nem_mx_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);311 MPIU_Assert(sizeof(MPID_nem_mx_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 312 312 313 313 if( MPID_nem_mem_region.ext_procs > 0) 314 314 { 315 mpi_errno = MPID_nem_mx_ module_get_from_bc (business_card, &VC_FIELD(vc, remote_endpoint_id), &VC_FIELD(vc, remote_nic_id));315 mpi_errno = MPID_nem_mx_get_from_bc (business_card, &VC_FIELD(vc, remote_endpoint_id), &VC_FIELD(vc, remote_nic_id)); 316 316 /* --BEGIN ERROR HANDLING-- */ 317 317 if (mpi_errno) … … 337 337 338 338 #undef FUNCNAME 339 #define FUNCNAME MPID_nem_mx_ module_vc_destroy340 #undef FCNAME 341 #define FCNAME MPIDI_QUOTE(FUNCNAME) 342 int MPID_nem_mx_ module_vc_destroy(MPIDI_VC_t *vc)339 #define FUNCNAME MPID_nem_mx_vc_destroy 340 #undef FCNAME 341 #define FCNAME MPIDI_QUOTE(FUNCNAME) 342 int MPID_nem_mx_vc_destroy(MPIDI_VC_t *vc) 343 343 { 344 344 int mpi_errno = MPI_SUCCESS; … … 353 353 354 354 #undef FUNCNAME 355 #define FUNCNAME MPID_nem_mx_ module_vc_terminate356 #undef FCNAME 357 #define FCNAME MPIDI_QUOTE(FUNCNAME) 358 int MPID_nem_mx_ module_vc_terminate (MPIDI_VC_t *vc)355 #define FUNCNAME MPID_nem_mx_vc_terminate 356 #undef FCNAME 357 #define FCNAME MPIDI_QUOTE(FUNCNAME) 358 int MPID_nem_mx_vc_terminate (MPIDI_VC_t *vc) 359 359 { 360 360 return MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_poll.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "mx_ module_impl.h"7 #include "mx_impl.h" 8 8 #include "myriexpress.h" 9 9 #include "my_papi_defs.h" … … 35 35 36 36 #undef FUNCNAME 37 #define FUNCNAME MPID_nem_mx_ module_send_from_queue37 #define FUNCNAME MPID_nem_mx_send_from_queue 38 38 #undef FCNAME 39 39 #define FCNAME MPIDI_QUOTE(FUNCNAME) 40 40 inline int 41 MPID_nem_mx_ module_send_from_queue()41 MPID_nem_mx_send_from_queue() 42 42 { 43 43 int mpi_errno = MPI_SUCCESS; … … 78 78 79 79 #undef FUNCNAME 80 #define FUNCNAME MPID_nem_mx_ module_recv80 #define FUNCNAME MPID_nem_mx_recv 81 81 #undef FCNAME 82 82 #define FCNAME MPIDI_QUOTE(FUNCNAME) 83 83 inline int 84 MPID_nem_mx_ module_recv()84 MPID_nem_mx_recv() 85 85 { 86 86 int mpi_errno = MPI_SUCCESS; … … 168 168 169 169 #undef FUNCNAME 170 #define FUNCNAME MPID_nem_mx_ module_poll170 #define FUNCNAME MPID_nem_mx_poll 171 171 #undef FCNAME 172 172 #define FCNAME MPIDI_QUOTE(FUNCNAME) 173 173 int 174 MPID_nem_mx_ module_poll(MPID_nem_poll_dir_t in_or_out)174 MPID_nem_mx_poll(MPID_nem_poll_dir_t in_or_out) 175 175 { 176 176 int mpi_errno = MPI_SUCCESS; … … 178 178 if (in_or_out == MPID_NEM_POLL_OUT) 179 179 { 180 MPID_nem_mx_ module_send_from_queue();181 MPID_nem_mx_ module_recv();180 MPID_nem_mx_send_from_queue(); 181 MPID_nem_mx_recv(); 182 182 } 183 183 else 184 184 { 185 MPID_nem_mx_ module_recv();186 MPID_nem_mx_ module_send_from_queue();185 MPID_nem_mx_recv(); 186 MPID_nem_mx_send_from_queue(); 187 187 } 188 188 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_register.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "mx_ module_impl.h"7 #include "mx_impl.h" 8 8 #include "myriexpress.h" 9 9 10 10 int 11 MPID_nem_mx_ module_register_mem (void *p, int len)11 MPID_nem_mx_register_mem (void *p, int len) 12 12 { 13 13 /* … … 20 20 21 21 int 22 MPID_nem_mx_ module_deregister_mem (void *p, int len)22 MPID_nem_mx_deregister_mem (void *p, int len) 23 23 { 24 24 /* mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_send.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "mx_ module_impl.h"7 #include "mx_impl.h" 8 8 #include "myriexpress.h" 9 9 #include "my_papi_defs.h" 10 10 11 11 #undef FUNCNAME 12 #define FUNCNAME MPID_nem_mx_ module_send12 #define FUNCNAME MPID_nem_mx_send 13 13 #undef FCNAME 14 14 #define FCNAME MPIDI_QUOTE(FUNCNAME) 15 15 int 16 MPID_nem_mx_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)16 MPID_nem_mx_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen) 17 17 { 18 18 MPID_nem_mx_cell_ptr_t cell_req; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/mx/mx_test.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "mx_ module_impl.h"7 #include "mx_impl.h" 8 8 #include "myriexpress.h" 9 9 10 10 int 11 MPID_nem_mx_ module_test()11 MPID_nem_mx_test() 12 12 { 13 13 return 0; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none/Makefile.sm
r3364 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 none _module.c4 none.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/none/none.c
- Property svn:mergeinfo set
r3364 r3763 67 67 } 68 68 69 MPID_nem_netmod_funcs_t MPIDI_nem_none_ module_funcs = {69 MPID_nem_netmod_funcs_t MPIDI_nem_none_funcs = { 70 70 nm_init, 71 71 nm_finalize, mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/Makefile.sm
r100 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 psm_ module_finalize.c psm_module_init.c psm_module_poll.c psm_module_send.c \5 psm_ module_getput.c psm_module_lmt.c psm_module_register.c psm_module_test.c4 psm_finalize.c psm_init.c psm_poll.c psm_send.c \ 5 psm_getput.c psm_lmt.c psm_register.c psm_test.c mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_finalize.c
- Property svn:mergeinfo set
r100 r3763 5 5 */ 6 6 7 #include "psm_ module_impl.h"7 #include "psm_impl.h" 8 8 #include "psm.h" 9 9 10 10 #undef FUNCNAME 11 #define FUNCNAME MPID_nem_psm_ module_finalize11 #define FUNCNAME MPID_nem_psm_finalize 12 12 #undef FCNAME 13 13 #define FCNAME MPIDI_QUOTE(FUNCNAME) 14 14 int 15 MPID_nem_psm_ module_finalize()15 MPID_nem_psm_finalize() 16 16 { 17 17 int mpi_errno = MPI_SUCCESS; … … 23 23 while(MPID_nem_module_psm_pendings_sends > 0) 24 24 { 25 MPID_nem_psm_ module_poll(MPID_NEM_POLL_OUT);25 MPID_nem_psm_poll(MPID_NEM_POLL_OUT); 26 26 } 27 27 ret = psm_mq_finalize(MPID_nem_module_psm_mq); … … 49 49 50 50 #undef FUNCNAME 51 #define FUNCNAME MPID_nem_psm_ module_ckpt_shutdown51 #define FUNCNAME MPID_nem_psm_ckpt_shutdown 52 52 #undef FCNAME 53 53 #define FCNAME MPIDI_QUOTE(FUNCNAME) 54 54 int 55 MPID_nem_psm_ module_ckpt_shutdown ()55 MPID_nem_psm_ckpt_shutdown () 56 56 { 57 57 int mpi_errno = MPI_SUCCESS; mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_getput.c
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_impl.h
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #ifndef PSM_ MODULE_IMPL_H8 #define PSM_ MODULE_IMPL_H7 #ifndef PSM_IMPL_H 8 #define PSM_IMPL_H 9 9 10 10 #include <sys/types.h> … … 21 21 #include "mpid_nem_impl.h" 22 22 23 int MPID_nem_psm_ module_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements,23 int MPID_nem_psm_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, 24 24 int num_proc_elements, MPID_nem_cell_ptr_t module_elements, int num_module_elements, 25 25 MPID_nem_queue_ptr_t *module_free_queue, int ckpt_restart, 26 26 MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p); 27 int MPID_nem_psm_ module_finalize (void);28 int MPID_nem_psm_ module_ckpt_shutdown (void);29 int MPID_nem_psm_ module_poll(MPID_nem_poll_dir_t in_or_out);30 int MPID_nem_psm_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);31 int MPID_nem_psm_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);32 int MPID_nem_psm_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);33 int MPID_nem_psm_ module_vc_init (MPIDI_VC_t *vc);34 int MPID_nem_psm_ module_vc_destroy(MPIDI_VC_t *vc);35 int MPID_nem_psm_ module_vc_terminate (MPIDI_VC_t *vc);27 int MPID_nem_psm_finalize (void); 28 int MPID_nem_psm_ckpt_shutdown (void); 29 int MPID_nem_psm_poll(MPID_nem_poll_dir_t in_or_out); 30 int MPID_nem_psm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 31 int MPID_nem_psm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 32 int MPID_nem_psm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 33 int MPID_nem_psm_vc_init (MPIDI_VC_t *vc); 34 int MPID_nem_psm_vc_destroy(MPIDI_VC_t *vc); 35 int MPID_nem_psm_vc_terminate (MPIDI_VC_t *vc); 36 36 37 int MPID_nem_psm_ module_test (void);37 int MPID_nem_psm_test (void); 38 38 39 int MPID_mem_psm_ module_register_mem (void *p, int len);40 int MPID_nem_psm_ module_deregister_mem (void *p, int len);39 int MPID_mem_psm_register_mem (void *p, int len); 40 int MPID_nem_psm_deregister_mem (void *p, int len); 41 41 42 42 /* completion counter is atomically decremented when operation completes */ 43 int MPID_nem_psm_ module_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr);44 int MPID_nem_psm_ module_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr);43 int MPID_nem_psm_get (void *target_p, void *source_p, int len, MPIDI_VC_t *source_vc, int *completion_ctr); 44 int MPID_nem_psm_put (void *target_p, void *source_p, int len, MPIDI_VC_t *target_vc, int *completion_ctr); 45 45 46 46 /* large message transfer functions */ 47 int MPID_nem_psm_ module_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie);48 int MPID_nem_psm_ module_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie);49 int MPID_nem_psm_ module_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);50 int MPID_nem_psm_ module_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr);51 int MPID_nem_psm_ module_lmt_send_post (struct iovec cookie);52 int MPID_nem_psm_ module_lmt_recv_post (struct iovec cookie);47 int MPID_nem_psm_lmt_send_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *dest, struct iovec *cookie); 48 int MPID_nem_psm_lmt_recv_pre (struct iovec *iov, size_t n_iov, MPIDI_VC_t *src, struct iovec *cookie); 49 int MPID_nem_psm_lmt_start_send (MPIDI_VC_t *dest, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 50 int MPID_nem_psm_lmt_start_recv (MPIDI_VC_t *src, struct iovec s_cookie, struct iovec r_cookie, int *completion_ctr); 51 int MPID_nem_psm_lmt_send_post (struct iovec cookie); 52 int MPID_nem_psm_lmt_recv_post (struct iovec cookie); 53 53 54 54 #define SEC_IN_NS 1000000000ULL … … 88 88 { 89 89 psm_epid_t remote_endpoint_id; 90 } MPID_nem_psm_ module_vc_area;90 } MPID_nem_psm_vc_area; 91 91 92 92 /* accessor macro to private fields in VC */ 93 #define VC_FIELD(vc, field) (((MPID_nem_psm_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)93 #define VC_FIELD(vc, field) (((MPID_nem_psm_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 94 94 95 95 typedef struct MPID_nem_psm_cell mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_init.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "psm_ module_impl.h"7 #include "psm_impl.h" 8 8 #include "psm.h" 9 9 #include "psm_mq.h" 10 10 #include "mpid_nem_impl.h" 11 11 12 MPID_nem_netmod_funcs_t MPIDI_nem_psm_ module_funcs = {13 MPID_nem_psm_ module_init,14 MPID_nem_psm_ module_finalize,15 MPID_nem_psm_ module_ckpt_shutdown,16 MPID_nem_psm_ module_poll,17 MPID_nem_psm_ module_send,18 MPID_nem_psm_ module_get_business_card,19 MPID_nem_psm_ module_connect_to_root,20 MPID_nem_psm_ module_vc_init,21 MPID_nem_psm_ module_vc_destroy,22 MPID_nem_psm_ module_vc_terminate12 MPID_nem_netmod_funcs_t MPIDI_nem_psm_funcs = { 13 MPID_nem_psm_init, 14 MPID_nem_psm_finalize, 15 MPID_nem_psm_ckpt_shutdown, 16 MPID_nem_psm_poll, 17 MPID_nem_psm_send, 18 MPID_nem_psm_get_business_card, 19 MPID_nem_psm_connect_to_root, 20 MPID_nem_psm_vc_init, 21 MPID_nem_psm_vc_destroy, 22 MPID_nem_psm_vc_terminate 23 23 }; 24 24 … … 229 229 /* 230 230 int 231 MPID_nem_psm_ module_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements,231 MPID_nem_psm_init(MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, 232 232 MPID_nem_cell_ptr_t module_elements, int num_module_elements, 233 233 MPID_nem_queue_ptr_t *module_free_queue) … … 248 248 249 249 #undef FUNCNAME 250 #define FUNCNAME MPID_nem_psm_ module_init250 #define FUNCNAME MPID_nem_psm_init 251 251 #undef FCNAME 252 252 #define FCNAME MPIDI_QUOTE(FUNCNAME) 253 253 int 254 MPID_nem_psm_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,254 MPID_nem_psm_init (MPID_nem_queue_ptr_t proc_recv_queue, 255 255 MPID_nem_queue_ptr_t proc_free_queue, 256 256 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, … … 295 295 296 296 #undef FUNCNAME 297 #define FUNCNAME MPID_nem_psm_ module_get_business_card297 #define FUNCNAME MPID_nem_psm_get_business_card 298 298 #undef FCNAME 299 299 #define FCNAME MPIDI_QUOTE(FUNCNAME) 300 300 int 301 MPID_nem_psm_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p)301 MPID_nem_psm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p) 302 302 { 303 303 int mpi_errno = MPI_SUCCESS; … … 328 328 329 329 #undef FUNCNAME 330 #define FUNCNAME MPID_nem_psm_ module_get_from_bc330 #define FUNCNAME MPID_nem_psm_get_from_bc 331 331 #undef FCNAME 332 332 #define FCNAME MPIDI_QUOTE(FUNCNAME) 333 333 int 334 MPID_nem_psm_ module_get_from_bc (const char *business_card, psm_epid_t *remote_endpoint_id)334 MPID_nem_psm_get_from_bc (const char *business_card, psm_epid_t *remote_endpoint_id) 335 335 { 336 336 int mpi_errno = MPI_SUCCESS; … … 352 352 353 353 #undef FUNCNAME 354 #define FUNCNAME MPID_nem_psm_ module_connect_to_root354 #define FUNCNAME MPID_nem_psm_connect_to_root 355 355 #undef FCNAME 356 356 #define FCNAME MPIDI_QUOTE(FUNCNAME) 357 357 int 358 MPID_nem_psm_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc)358 MPID_nem_psm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc) 359 359 { 360 360 int mpi_errno = MPI_SUCCESS; … … 366 366 367 367 #undef FUNCNAME 368 #define FUNCNAME MPID_nem_psm_ module_vc_init368 #define FUNCNAME MPID_nem_psm_vc_init 369 369 #undef FCNAME 370 370 #define FCNAME MPIDI_QUOTE(FUNCNAME) 371 371 int 372 MPID_nem_psm_ module_vc_init (MPIDI_VC_t *vc, const char *business_card)372 MPID_nem_psm_vc_init (MPIDI_VC_t *vc, const char *business_card) 373 373 { 374 374 int mpi_errno = MPI_SUCCESS; … … 377 377 378 378 /* first make sure that our private fields in the vc fit into the area provided */ 379 MPIU_Assert(sizeof(MPID_nem_psm_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);379 MPIU_Assert(sizeof(MPID_nem_psm_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 380 380 381 381 … … 383 383 /* if( MPID_nem_mem_region.ext_procs > 0) */ 384 384 /* { */ 385 /* mpi_errno = MPID_nem_psm_ module_get_from_bc (business_card, &VC_FIELD(vc, remote_endpoint_id)); */385 /* mpi_errno = MPID_nem_psm_get_from_bc (business_card, &VC_FIELD(vc, remote_endpoint_id)); */ 386 386 /* /\* --BEGIN ERROR HANDLING-- *\/ */ 387 387 /* if (mpi_errno) */ … … 401 401 402 402 #undef FUNCNAME 403 #define FUNCNAME MPID_nem_psm_ module_vc_destroy404 #undef FCNAME 405 #define FCNAME MPIDI_QUOTE(FUNCNAME) 406 int MPID_nem_psm_ module_vc_destroy(MPIDI_VC_t *vc)403 #define FUNCNAME MPID_nem_psm_vc_destroy 404 #undef FCNAME 405 #define FCNAME MPIDI_QUOTE(FUNCNAME) 406 int MPID_nem_psm_vc_destroy(MPIDI_VC_t *vc) 407 407 { 408 408 int mpi_errno = MPI_SUCCESS; … … 418 418 419 419 #undef FUNCNAME 420 #define FUNCNAME MPID_nem_psm_ module_vc_terminate421 #undef FCNAME 422 #define FCNAME MPIDI_QUOTE(FUNCNAME) 423 int MPID_nem_psm_ module_vc_terminate (MPIDI_VC_t *vc)420 #define FUNCNAME MPID_nem_psm_vc_terminate 421 #undef FCNAME 422 #define FCNAME MPIDI_QUOTE(FUNCNAME) 423 int MPID_nem_psm_vc_terminate (MPIDI_VC_t *vc) 424 424 { 425 425 return MPI_SUCCESS; … … 428 428 429 429 #undef FUNCNAME 430 #define FUNCNAME MPID_nem_psm_ module_exchange_endpoints431 #undef FCNAME 432 #define FCNAME MPIDI_QUOTE(FUNCNAME) 433 int MPID_nem_psm_ module_exchange_endpoints(void)430 #define FUNCNAME MPID_nem_psm_exchange_endpoints 431 #undef FCNAME 432 #define FCNAME MPIDI_QUOTE(FUNCNAME) 433 int MPID_nem_psm_exchange_endpoints(void) 434 434 { 435 435 … … 597 597 598 598 #undef FUNCNAME 599 #define FUNCNAME MPID_nem_psm_ module_connect600 #undef FCNAME 601 #define FCNAME MPIDI_QUOTE(FUNCNAME) 602 int MPID_nem_psm_ module_connect (void)599 #define FUNCNAME MPID_nem_psm_connect 600 #undef FCNAME 601 #define FCNAME MPIDI_QUOTE(FUNCNAME) 602 int MPID_nem_psm_connect (void) 603 603 { 604 604 int mpi_errno = MPI_SUCCESS; … … 608 608 /* if(!MPID_nem_module_psm_initialized) */ 609 609 /* { */ 610 /* ret = MPID_nem_psm_ module_exchange_endpoints(); */611 /* MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**MPID_nem_psm_ module_exchange_endpoints", "**MPID_nem_psm_module_exchange_endpoints %d", ret); */610 /* ret = MPID_nem_psm_exchange_endpoints(); */ 611 /* MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**MPID_nem_psm_exchange_endpoints", "**MPID_nem_psm_exchange_endpoints %d", ret); */ 612 612 /* } */ 613 613 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_lmt.c
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_poll.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "psm_ module_impl.h"7 #include "psm_impl.h" 8 8 #include "psm.h" 9 9 #include "my_papi_defs.h" … … 35 35 36 36 #undef FUNCNAME 37 #define FUNCNAME MPID_nem_psm_ module_send_from_queue37 #define FUNCNAME MPID_nem_psm_send_from_queue 38 38 #undef FCNAME 39 39 #define FCNAME MPIDI_QUOTE(FUNCNAME) 40 40 inline int 41 MPID_nem_psm_ module_send_from_queue()41 MPID_nem_psm_send_from_queue() 42 42 { 43 43 int mpi_errno = MPI_SUCCESS; … … 84 84 85 85 #undef FUNCNAME 86 #define FUNCNAME MPID_nem_psm_ module_recv86 #define FUNCNAME MPID_nem_psm_recv 87 87 #undef FCNAME 88 88 #define FCNAME MPIDI_QUOTE(FUNCNAME) 89 89 inline int 90 MPID_nem_psm_ module_recv()90 MPID_nem_psm_recv() 91 91 { 92 92 int mpi_errno = MPI_SUCCESS; … … 180 180 181 181 #undef FUNCNAME 182 #define FUNCNAME MPID_nem_psm_ module_poll182 #define FUNCNAME MPID_nem_psm_poll 183 183 #undef FCNAME 184 184 #define FCNAME MPIDI_QUOTE(FUNCNAME) 185 185 int 186 MPID_nem_psm_ module_poll(MPID_nem_poll_dir_t in_or_out)186 MPID_nem_psm_poll(MPID_nem_poll_dir_t in_or_out) 187 187 { 188 188 int mpi_errno = MPI_SUCCESS; … … 192 192 if (!MPID_nem_module_psm_connected) 193 193 { 194 ret = MPID_nem_psm_ module_connect();195 MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**psm_ module_connect", "**psm_module_connect %d", ret);194 ret = MPID_nem_psm_connect(); 195 MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**psm_connect", "**psm_connect %d", ret); 196 196 } 197 197 … … 199 199 if (in_or_out == MPID_NEM_POLL_OUT) 200 200 { 201 MPID_nem_psm_ module_send_from_queue();202 MPID_nem_psm_ module_recv();201 MPID_nem_psm_send_from_queue(); 202 MPID_nem_psm_recv(); 203 203 } 204 204 else 205 205 { 206 MPID_nem_psm_ module_recv();207 MPID_nem_psm_ module_send_from_queue();206 MPID_nem_psm_recv(); 207 MPID_nem_psm_send_from_queue(); 208 208 } 209 209 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_register.c
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_send.c
- Property svn:mergeinfo set
r3391 r3763 5 5 */ 6 6 7 #include "psm_ module_impl.h"7 #include "psm_impl.h" 8 8 #include "psm.h" 9 9 #include "my_papi_defs.h" 10 10 11 11 #undef FUNCNAME 12 #define FUNCNAME MPID_nem_psm_ module_send12 #define FUNCNAME MPID_nem_psm_send 13 13 #undef FCNAME 14 14 #define FCNAME MPIDI_QUOTE(FUNCNAME) 15 15 int 16 MPID_nem_psm_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)16 MPID_nem_psm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen) 17 17 { 18 18 MPID_nem_psm_cell_ptr_t cell_req; … … 29 29 if (!MPID_nem_module_psm_connected) 30 30 { 31 ret = MPID_nem_psm_ module_connect();32 MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**psm_ module_connect", "**psm_module_connect %d", ret);31 ret = MPID_nem_psm_connect(); 32 MPIU_ERR_CHKANDJUMP1 (ret != MPI_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**psm_connect", "**psm_connect %d", ret); 33 33 } 34 34 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/psm/psm_test.c
- Property svn:mergeinfo set
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/Makefile.sm
r3751 r3763 2 2 -I${top_builddir}/src/include 3 3 lib${MPILIBNAME}_a_SOURCES = \ 4 tcp_ module_finalize.c tcp_module_init.c tcp_module_poll.c tcp_module_send.c tcp_module_utility.c socksm.c tcp_module_getip.c4 tcp_finalize.c tcp_init.c tcp_poll.c tcp_send.c tcp_utility.c socksm.c tcp_getip.c 5 5 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/socksm.c
r3751 r3763 7 7 #define SOCKSM_H_DEFGLOBALS_ 8 8 9 #include "tcp_ module_impl.h"9 #include "tcp_impl.h" 10 10 #include "socksm.h" 11 11 … … 26 26 27 27 static sockconn_t *g_sc_tbl = NULL; 28 pollfd_t *MPID_nem_tcp_ module_plfd_tbl = NULL;29 30 sockconn_t MPID_nem_tcp_ module_g_lstn_sc = {0};31 pollfd_t MPID_nem_tcp_ module_g_lstn_plfd = {0};28 pollfd_t *MPID_nem_tcp_plfd_tbl = NULL; 29 30 sockconn_t MPID_nem_tcp_g_lstn_sc = {0}; 31 pollfd_t MPID_nem_tcp_g_lstn_plfd = {0}; 32 32 33 33 /* We define this in order to trick the compiler into including 34 information about the MPID_nem_tcp_ module_vc_area type. This is34 information about the MPID_nem_tcp_vc_area type. This is 35 35 needed to easily expand the VC_FIELD macro in a debugger. The 36 36 'unused' attribute keeps the compiler from complaining. The 'used' 37 37 attribute makes sure the symbol is added in the lib, even if it's 38 38 unused */ 39 static MPID_nem_tcp_ module_vc_area *dummy_vc_area ATTRIBUTE((unused, used)) = NULL;39 static MPID_nem_tcp_vc_area *dummy_vc_area ATTRIBUTE((unused, used)) = NULL; 40 40 41 41 /* Debug function to dump the sockconn table. This is intended to be … … 123 123 124 124 MPIU_Assert(g_sc_tbl == NULL); 125 MPIU_Assert(MPID_nem_tcp_ module_plfd_tbl == NULL);125 MPIU_Assert(MPID_nem_tcp_plfd_tbl == NULL); 126 126 127 127 MPIU_CHKPMEM_MALLOC (g_sc_tbl, sockconn_t *, g_tbl_capacity * sizeof(sockconn_t), 128 128 mpi_errno, "connection table"); 129 MPIU_CHKPMEM_MALLOC (MPID_nem_tcp_ module_plfd_tbl, pollfd_t *, g_tbl_capacity * sizeof(pollfd_t),129 MPIU_CHKPMEM_MALLOC (MPID_nem_tcp_plfd_tbl, pollfd_t *, g_tbl_capacity * sizeof(pollfd_t), 130 130 mpi_errno, "pollfd table"); 131 131 #if defined(MPICH_DEBUG_MEMINIT) … … 134 134 remove this code if the fix ever gets into a release of valgrind. 135 135 [goodell@ 2007-02-25] */ 136 memset(MPID_nem_tcp_ module_plfd_tbl, 0, g_tbl_capacity * sizeof(pollfd_t));136 memset(MPID_nem_tcp_plfd_tbl, 0, g_tbl_capacity * sizeof(pollfd_t)); 137 137 #endif 138 138 139 139 for (i = 0; i < g_tbl_capacity; i++) { 140 140 INIT_SC_ENTRY(((sockconn_t *)&g_sc_tbl[i]), i); 141 INIT_POLLFD_ENTRY(((pollfd_t *)&MPID_nem_tcp_ module_plfd_tbl[i]));141 INIT_POLLFD_ENTRY(((pollfd_t *)&MPID_nem_tcp_plfd_tbl[i])); 142 142 } 143 143 MPIU_CHKPMEM_COMMIT(); … … 147 147 148 148 MPIU_Assert(0 == index); /* assumed in other parts of this file */ 149 MPID_NEM_MEMCPY (&g_sc_tbl[index], &MPID_nem_tcp_ module_g_lstn_sc, sizeof(MPID_nem_tcp_module_g_lstn_sc));150 MPID_NEM_MEMCPY (&MPID_nem_tcp_ module_plfd_tbl[index], &MPID_nem_tcp_module_g_lstn_plfd, sizeof(MPID_nem_tcp_module_g_lstn_plfd));151 MPIU_Assert(MPID_nem_tcp_ module_plfd_tbl[index].fd == g_sc_tbl[index].fd);152 MPIU_Assert(MPID_nem_tcp_ module_plfd_tbl[index].events == POLLIN);149 MPID_NEM_MEMCPY (&g_sc_tbl[index], &MPID_nem_tcp_g_lstn_sc, sizeof(MPID_nem_tcp_g_lstn_sc)); 150 MPID_NEM_MEMCPY (&MPID_nem_tcp_plfd_tbl[index], &MPID_nem_tcp_g_lstn_plfd, sizeof(MPID_nem_tcp_g_lstn_plfd)); 151 MPIU_Assert(MPID_nem_tcp_plfd_tbl[index].fd == g_sc_tbl[index].fd); 152 MPIU_Assert(MPID_nem_tcp_plfd_tbl[index].events == POLLIN); 153 153 154 154 fn_exit: … … 169 169 170 170 MPIU_Free(g_sc_tbl); 171 MPIU_Free(MPID_nem_tcp_ module_plfd_tbl);171 MPIU_Free(MPID_nem_tcp_plfd_tbl); 172 172 return mpi_errno; 173 173 } … … 200 200 201 201 MPID_NEM_MEMCPY (new_sc_tbl, g_sc_tbl, g_tbl_capacity * sizeof(sockconn_t)); 202 MPID_NEM_MEMCPY (new_plfd_tbl, MPID_nem_tcp_ module_plfd_tbl, g_tbl_capacity * sizeof(pollfd_t));202 MPID_NEM_MEMCPY (new_plfd_tbl, MPID_nem_tcp_plfd_tbl, g_tbl_capacity * sizeof(pollfd_t)); 203 203 204 204 /* VCs have pointers to entries in the sc table. These … … 218 218 219 219 MPIU_Free(g_sc_tbl); 220 MPIU_Free(MPID_nem_tcp_ module_plfd_tbl);220 MPIU_Free(MPID_nem_tcp_plfd_tbl); 221 221 g_sc_tbl = new_sc_tbl; 222 MPID_nem_tcp_ module_plfd_tbl = new_plfd_tbl;222 MPID_nem_tcp_plfd_tbl = new_plfd_tbl; 223 223 for (i = g_tbl_capacity; i < new_capacity; i++) { 224 224 INIT_SC_ENTRY(((sockconn_t *)&g_sc_tbl[i]), i); 225 INIT_POLLFD_ENTRY(((pollfd_t *)&MPID_nem_tcp_ module_plfd_tbl[i]));225 INIT_POLLFD_ENTRY(((pollfd_t *)&MPID_nem_tcp_plfd_tbl[i])); 226 226 } 227 227 g_tbl_capacity = new_capacity; … … 234 234 /* The state is only valid if the FD is valid. The VC field is only 235 235 valid if the state is valid and COMMRDY. */ 236 MPIU_Assert(MPID_nem_tcp_ module_plfd_tbl[i].fd == CONN_INVALID_FD ||236 MPIU_Assert(MPID_nem_tcp_plfd_tbl[i].fd == CONN_INVALID_FD || 237 237 g_sc_tbl[i].state.cstate != CONN_STATE_TS_COMMRDY || 238 238 VC_FIELD(g_sc_tbl[i].vc, sc) == &g_sc_tbl[i]); … … 292 292 assumptions. */ 293 293 INIT_SC_ENTRY(&g_sc_tbl[*index], *index); 294 INIT_POLLFD_ENTRY(&MPID_nem_tcp_ module_plfd_tbl[*index]);294 INIT_POLLFD_ENTRY(&MPID_nem_tcp_plfd_tbl[*index]); 295 295 return mpi_errno; 296 296 fn_fail: … … 326 326 { 327 327 sockconn_t *iter_sc = &g_sc_tbl[i]; 328 MPID_nem_tcp_ module_Conn_State_t istate = iter_sc->state.cstate;328 MPID_nem_tcp_Conn_State_t istate = iter_sc->state.cstate; 329 329 330 330 if (iter_sc != sc && iter_sc->fd != CONN_INVALID_FD … … 414 414 { 415 415 int mpi_errno = MPI_SUCCESS; 416 MPIDI_nem_tcp_ module_idinfo_t id_info;417 MPIDI_nem_tcp_ module_header_t hdr;416 MPIDI_nem_tcp_idinfo_t id_info; 417 MPIDI_nem_tcp_header_t hdr; 418 418 struct iovec iov[3]; 419 419 int pg_id_len = 0, offset, buf_size, iov_cnt = 2; … … 432 432 /* avoid computing the length of string everytime this function is called. */ 433 433 434 hdr.pkt_type = MPIDI_NEM_TCP_ MODULE_PKT_ID_INFO;435 hdr.datalen = sizeof(MPIDI_nem_tcp_ module_idinfo_t) + pg_id_len;434 hdr.pkt_type = MPIDI_NEM_TCP_PKT_ID_INFO; 435 hdr.datalen = sizeof(MPIDI_nem_tcp_idinfo_t) + pg_id_len; 436 436 id_info.pg_rank = MPIDI_Process.my_pg_rank; 437 437 … … 475 475 { 476 476 int mpi_errno = MPI_SUCCESS; 477 MPIDI_nem_tcp_ module_portinfo_t port_info;478 MPIDI_nem_tcp_ module_header_t hdr;477 MPIDI_nem_tcp_portinfo_t port_info; 478 MPIDI_nem_tcp_header_t hdr; 479 479 struct iovec iov[3]; 480 480 int offset, buf_size, iov_cnt = 2; … … 490 490 /* avoid computing the length of string everytime this function is called. */ 491 491 492 hdr.pkt_type = MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_INFO;493 hdr.datalen = sizeof(MPIDI_nem_tcp_ module_portinfo_t);492 hdr.pkt_type = MPIDI_NEM_TCP_PKT_TMPVC_INFO; 493 hdr.datalen = sizeof(MPIDI_nem_tcp_portinfo_t); 494 494 port_info.port_name_tag = sc->vc->port_name_tag; 495 495 … … 525 525 { 526 526 int mpi_errno = MPI_SUCCESS; 527 MPIDI_nem_tcp_ module_header_t hdr;527 MPIDI_nem_tcp_header_t hdr; 528 528 int pg_id_len = 0, nread, iov_cnt = 1; 529 int hdr_len = sizeof(MPIDI_nem_tcp_ module_header_t);529 int hdr_len = sizeof(MPIDI_nem_tcp_header_t); 530 530 struct iovec iov[2]; 531 531 char *pg_id = NULL; … … 552 552 MPIU_ERR_CHKANDJUMP1 (nread != hdr_len, mpi_errno, MPI_ERR_OTHER, 553 553 "**read", "**read %s", strerror (errno)); /* FIXME-Z1 */ 554 MPIU_Assert(hdr.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_INFO ||555 hdr.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_INFO);554 MPIU_Assert(hdr.pkt_type == MPIDI_NEM_TCP_PKT_ID_INFO || 555 hdr.pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_INFO); 556 556 MPIU_Assert(hdr.datalen != 0); 557 557 558 if (hdr.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_INFO) {558 if (hdr.pkt_type == MPIDI_NEM_TCP_PKT_ID_INFO) { 559 559 iov[0].iov_base = (void *) &(sc->pg_rank); 560 560 iov[0].iov_len = sizeof(sc->pg_rank); 561 pg_id_len = hdr.datalen - sizeof(MPIDI_nem_tcp_ module_idinfo_t);561 pg_id_len = hdr.datalen - sizeof(MPIDI_nem_tcp_idinfo_t); 562 562 if (pg_id_len != 0) { 563 563 MPIU_CHKLMEM_MALLOC (pg_id, char *, pg_id_len, mpi_errno, "sockconn pg_id"); … … 573 573 if (pg_id_len == 0) { 574 574 sc->is_same_pg = TRUE; 575 mpi_errno = MPID_nem_tcp_ module_get_vc_from_conninfo (MPIDI_Process.my_pg->id,575 mpi_errno = MPID_nem_tcp_get_vc_from_conninfo (MPIDI_Process.my_pg->id, 576 576 sc->pg_rank, &sc->vc); 577 577 if (mpi_errno) MPIU_ERR_POP(mpi_errno); … … 580 580 else { 581 581 sc->is_same_pg = FALSE; 582 mpi_errno = MPID_nem_tcp_ module_get_vc_from_conninfo (pg_id, sc->pg_rank, &sc->vc);582 mpi_errno = MPID_nem_tcp_get_vc_from_conninfo (pg_id, sc->pg_rank, &sc->vc); 583 583 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 584 584 sc->pg_id = sc->vc->pg->id; … … 594 594 MPIU_DBG_MSG_FMT(CH3_CHANNEL, VERBOSE, (MPIU_DBG_FDEST, "PKT_ID_INFO: sc->fd=%d, sc->vc=%p, sc=%p", sc->fd, sc->vc, sc)); 595 595 } 596 else if (hdr.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_INFO) {596 else if (hdr.pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_INFO) { 597 597 MPIDI_VC_t *vc; 598 598 … … 608 608 609 609 MPIDI_VC_Init(vc, NULL, 0); 610 ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_TCP_ MODULE_VC_STATE_CONNECTED; /* FIXME: is it needed ? */610 ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_TCP_VC_STATE_CONNECTED; /* FIXME: is it needed ? */ 611 611 sc->vc = vc; 612 612 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))); … … 657 657 #undef FCNAME 658 658 #define FCNAME MPIDI_QUOTE(FUNCNAME) 659 static int send_cmd_pkt_func(int fd, MPIDI_nem_tcp_ module_pkt_type_t pkt_type)659 static int send_cmd_pkt_func(int fd, MPIDI_nem_tcp_pkt_type_t pkt_type) 660 660 { 661 661 int mpi_errno = MPI_SUCCESS, offset; 662 MPIDI_nem_tcp_ module_header_t pkt;663 int pkt_len = sizeof(MPIDI_nem_tcp_ module_header_t);664 665 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK ||666 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK ||667 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_REQ ||668 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_ACK ||669 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_NAK ||670 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK ||671 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_NAK);662 MPIDI_nem_tcp_header_t pkt; 663 int pkt_len = sizeof(MPIDI_nem_tcp_header_t); 664 665 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_PKT_ID_ACK || 666 pkt_type == MPIDI_NEM_TCP_PKT_ID_NAK || 667 pkt_type == MPIDI_NEM_TCP_PKT_DISC_REQ || 668 pkt_type == MPIDI_NEM_TCP_PKT_DISC_ACK || 669 pkt_type == MPIDI_NEM_TCP_PKT_DISC_NAK || 670 pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_ACK || 671 pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_NAK); 672 672 673 673 pkt.pkt_type = pkt_type; … … 695 695 #undef FCNAME 696 696 #define FCNAME MPIDI_QUOTE(FUNCNAME) 697 static int recv_cmd_pkt(int fd, MPIDI_nem_tcp_ module_pkt_type_t *pkt_type)697 static int recv_cmd_pkt(int fd, MPIDI_nem_tcp_pkt_type_t *pkt_type) 698 698 { 699 699 int mpi_errno = MPI_SUCCESS, nread; 700 MPIDI_nem_tcp_ module_header_t pkt;701 int pkt_len = sizeof(MPIDI_nem_tcp_ module_header_t);700 MPIDI_nem_tcp_header_t pkt; 701 int pkt_len = sizeof(MPIDI_nem_tcp_header_t); 702 702 MPIDI_STATE_DECL(MPID_STATE_RECV_CMD_PKT); 703 703 … … 710 710 "**read", "**read %d %s", nread, strerror (errno)); /* FIXME-Z1 */ 711 711 MPIU_Assert(pkt.datalen == 0); 712 MPIU_Assert(pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK ||713 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK ||714 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK ||715 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_NAK ||716 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_REQ ||717 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_ACK ||718 pkt.pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_DISC_NAK);712 MPIU_Assert(pkt.pkt_type == MPIDI_NEM_TCP_PKT_ID_ACK || 713 pkt.pkt_type == MPIDI_NEM_TCP_PKT_ID_NAK || 714 pkt.pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_ACK || 715 pkt.pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_NAK || 716 pkt.pkt_type == MPIDI_NEM_TCP_PKT_DISC_REQ || 717 pkt.pkt_type == MPIDI_NEM_TCP_PKT_DISC_ACK || 718 pkt.pkt_type == MPIDI_NEM_TCP_PKT_DISC_NAK); 719 719 *pkt_type = pkt.pkt_type; 720 720 fn_exit: … … 729 729 730 730 #undef FUNCNAME 731 #define FUNCNAME MPID_nem_tcp_ module_connect732 #undef FCNAME 733 #define FCNAME MPIDI_QUOTE(FUNCNAME) 734 int MPID_nem_tcp_ module_connect(struct MPIDI_VC *const vc)731 #define FUNCNAME MPID_nem_tcp_connect 732 #undef FCNAME 733 #define FCNAME MPIDI_QUOTE(FUNCNAME) 734 int MPID_nem_tcp_connect(struct MPIDI_VC *const vc) 735 735 { 736 736 sockconn_t *sc = NULL; … … 740 740 freenode_t *node; 741 741 MPIU_CHKLMEM_DECL(1); 742 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT);743 744 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT);742 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_CONNECT); 743 744 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_CONNECT); 745 745 746 746 MPIU_Assert(vc != NULL); 747 747 748 if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_TCP_ MODULE_VC_STATE_DISCONNECTED) {748 if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_TCP_VC_STATE_DISCONNECTED) { 749 749 struct sockaddr_in *sock_addr; 750 750 struct in_addr addr; … … 756 756 757 757 sc = &g_sc_tbl[index]; 758 plfd = &MPID_nem_tcp_ module_plfd_tbl[index];758 plfd = &MPID_nem_tcp_plfd_tbl[index]; 759 759 760 760 /* FIXME: … … 762 762 If a process is dynamically spawned, vc->pg is NULL. 763 763 In that case, same procedure is done 764 in MPID_nem_tcp_ module_connect_to_root()764 in MPID_nem_tcp_connect_to_root() 765 765 */ 766 766 if (vc->pg != NULL) { /* VC is not a temporary one */ … … 778 778 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 779 779 780 mpi_errno = MPID_nem_tcp_ module_get_addr_port_from_bc(bc, &addr, &(VC_FIELD(vc, sock_id).sin_port));780 mpi_errno = MPID_nem_tcp_get_addr_port_from_bc(bc, &addr, &(VC_FIELD(vc, sock_id).sin_port)); 781 781 VC_FIELD(vc, sock_id).sin_addr.s_addr = addr.s_addr; 782 782 if (mpi_errno) MPIU_ERR_POP(mpi_errno); … … 793 793 plfd->fd = sc->fd; 794 794 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "sc->fd=%d, plfd->events=%d, plfd->revents=%d, vc=%p, sc=%p", sc->fd, plfd->events, plfd->revents, vc, sc)); 795 mpi_errno = MPID_nem_tcp_ module_set_sockopts(sc->fd);795 mpi_errno = MPID_nem_tcp_set_sockopts(sc->fd); 796 796 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 797 797 … … 810 810 811 811 /* sc->handler = sc_state_info[sc->state.cstate].sc_state_handler; */ 812 ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_TCP_ MODULE_VC_STATE_CONNECTED;812 ((MPIDI_CH3I_VC *)vc->channel_private)->state = MPID_NEM_TCP_VC_STATE_CONNECTED; 813 813 sc->pg_rank = vc->pg_rank; 814 814 … … 836 836 ++VC_FIELD(vc, sc_ref_count); 837 837 } 838 else if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_TCP_ MODULE_VC_STATE_CONNECTED) {838 else if (((MPIDI_CH3I_VC *)vc->channel_private)->state == MPID_NEM_TCP_VC_STATE_CONNECTED) { 839 839 sc = VC_FIELD(vc, sc); 840 840 MPIU_Assert(sc != NULL); … … 849 849 850 850 fn_exit: 851 /* MPID_nem_tcp_ module_connpoll(); FIXME-Imp should be called? */851 /* MPID_nem_tcp_connpoll(); FIXME-Imp should be called? */ 852 852 MPIU_CHKLMEM_FREEALL(); 853 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT);853 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_CONNECT); 854 854 return mpi_errno; 855 855 fn_fail: 856 856 if (index != -1) { 857 857 if (sc->fd != CONN_INVALID_FD) { 858 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "MPID_nem_tcp_ module_connect(). closing fd = %d", sc->fd));858 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "MPID_nem_tcp_connect(). closing fd = %d", sc->fd)); 859 859 close(sc->fd); 860 860 sc->fd = CONN_INVALID_FD; … … 894 894 } 895 895 896 plfd = &MPID_nem_tcp_ module_plfd_tbl[sc->index];896 plfd = &MPID_nem_tcp_plfd_tbl[sc->index]; 897 897 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "vc=%p, sc=%p, closing fd=%d", sc->vc, sc, sc->fd)); 898 898 … … 905 905 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 */ 906 906 { 907 ((MPIDI_CH3I_VC *)sc->vc->channel_private)->state = MPID_NEM_TCP_ MODULE_VC_STATE_DISCONNECTED;907 ((MPIDI_CH3I_VC *)sc->vc->channel_private)->state = MPID_NEM_TCP_VC_STATE_DISCONNECTED; 908 908 ASSIGN_SC_TO_VC(sc->vc, NULL); 909 909 } … … 932 932 race for queued messages. */ 933 933 #undef FUNCNAME 934 #define FUNCNAME MPID_nem_tcp_ module_cleanup935 #undef FCNAME 936 #define FCNAME MPIDI_QUOTE(FUNCNAME) 937 int MPID_nem_tcp_ module_cleanup (struct MPIDI_VC *const vc)934 #define FUNCNAME MPID_nem_tcp_cleanup 935 #undef FCNAME 936 #define FCNAME MPIDI_QUOTE(FUNCNAME) 937 int MPID_nem_tcp_cleanup (struct MPIDI_VC *const vc) 938 938 { 939 939 int mpi_errno = MPI_SUCCESS, i; 940 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_CLEANUP);941 942 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_CLEANUP);940 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_CLEANUP); 941 942 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_CLEANUP); 943 943 944 944 MPIU_Assert(vc->state == MPIDI_VC_STATE_CLOSE_ACKED); … … 963 963 964 964 /* cleanup_sc can technically cause a reconnect on a per-sc basis, but I 965 don't think that it can happen when _module_cleanup is called. Let's965 don't think that it can happen when cleanup is called. Let's 966 966 assert this for now and remove it if we prove that it can happen. */ 967 967 MPIU_Assert(VC_FIELD(vc, sc_ref_count) == 0); 968 968 969 969 fn_exit: 970 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_CLEANUP);970 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_CLEANUP); 971 971 return mpi_errno; 972 972 fn_fail: … … 983 983 { 984 984 int mpi_errno = MPI_SUCCESS; 985 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t stat;985 MPID_NEM_TCP_SOCK_STATUS_t stat; 986 986 MPIDI_STATE_DECL(MPID_STATE_STATE_TC_C_CNTING_HANDLER); 987 987 988 988 MPIDI_FUNC_ENTER(MPID_STATE_STATE_TC_C_CNTING_HANDLER); 989 989 990 stat = MPID_nem_tcp_ module_check_sock_status(plfd);991 992 if (stat == MPID_NEM_TCP_ MODULE_SOCK_CONNECTED) {990 stat = MPID_nem_tcp_check_sock_status(plfd); 991 992 if (stat == MPID_NEM_TCP_SOCK_CONNECTED) { 993 993 CHANGE_STATE(sc, CONN_STATE_TC_C_CNTD); 994 994 } 995 else if (stat == MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF) {995 else if (stat == MPID_NEM_TCP_SOCK_ERROR_EOF) { 996 996 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "state_tc_c_cnting_handler(): changing to " 997 997 "quiescent")); … … 999 999 /* FIXME: retry 'n' number of retries before signalling an error to VC layer. */ 1000 1000 } 1001 else { /* stat == MPID_NEM_TCP_ MODULE_SOCK_NOEVENT */1001 else { /* stat == MPID_NEM_TCP_SOCK_NOEVENT */ 1002 1002 /* 1003 1003 Still connecting... let it. While still connecting, even if … … 1078 1078 { 1079 1079 int mpi_errno = MPI_SUCCESS; 1080 MPIDI_nem_tcp_ module_pkt_type_t pkt_type;1080 MPIDI_nem_tcp_pkt_type_t pkt_type; 1081 1081 MPIDI_STATE_DECL(MPID_STATE_STATE_C_RANKSENT_HANDLER); 1082 1082 … … 1094 1094 } 1095 1095 else { 1096 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK ||1097 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK);1098 1099 if (pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK) {1096 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_PKT_ID_ACK || 1097 pkt_type == MPIDI_NEM_TCP_PKT_ID_NAK); 1098 1099 if (pkt_type == MPIDI_NEM_TCP_PKT_ID_ACK) { 1100 1100 CHANGE_STATE(sc, CONN_STATE_TS_COMMRDY); 1101 1101 ASSIGN_SC_TO_VC(sc->vc, sc); 1102 MPID_nem_tcp_ module_conn_est (sc->vc);1102 MPID_nem_tcp_conn_est (sc->vc); 1103 1103 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "c_ranksent_handler(): connection established (sc=%p, sc->vc=%p, fd=%d)", sc, sc->vc, sc->fd)); 1104 1104 } 1105 else { /* pkt_type must be MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK */1105 else { /* pkt_type must be MPIDI_NEM_TCP_PKT_ID_NAK */ 1106 1106 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); 1107 1107 } … … 1120 1120 { 1121 1121 int mpi_errno = MPI_SUCCESS; 1122 MPIDI_nem_tcp_ module_pkt_type_t pkt_type;1122 MPIDI_nem_tcp_pkt_type_t pkt_type; 1123 1123 MPIDI_STATE_DECL(MPID_STATE_STATE_C_TMPVCSENT_HANDLER); 1124 1124 … … 1134 1134 } 1135 1135 else { 1136 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK ||1137 pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_NAK);1138 1139 if (pkt_type == MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK) {1136 MPIU_Assert(pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_ACK || 1137 pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_NAK); 1138 1139 if (pkt_type == MPIDI_NEM_TCP_PKT_TMPVC_ACK) { 1140 1140 CHANGE_STATE(sc, CONN_STATE_TS_COMMRDY); 1141 1141 ASSIGN_SC_TO_VC(sc->vc, sc); 1142 MPID_nem_tcp_ module_conn_est (sc->vc);1142 MPID_nem_tcp_conn_est (sc->vc); 1143 1143 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "c_tmpvcsent_handler(): connection established (fd=%d, sc=%p, sc->vc=%p)", sc->fd, sc, sc->vc)); 1144 1144 } 1145 else { /* pkt_type must be MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK */1145 else { /* pkt_type must be MPIDI_NEM_TCP_PKT_ID_NAK */ 1146 1146 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "state_c_tmpvcsent_handler() 2: changing to quiescent")); 1147 1147 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); … … 1161 1161 { 1162 1162 int mpi_errno = MPI_SUCCESS; 1163 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t stat;1163 MPID_NEM_TCP_SOCK_STATUS_t stat; 1164 1164 int got_sc_eof = 0; 1165 1165 MPIDI_STATE_DECL(MPID_STATE_STATE_L_CNTD_HANDLER); … … 1167 1167 MPIDI_FUNC_ENTER(MPID_STATE_STATE_L_CNTD_HANDLER); 1168 1168 1169 stat = MPID_nem_tcp_ module_check_sock_status(plfd);1170 if (stat == MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF) {1169 stat = MPID_nem_tcp_check_sock_status(plfd); 1170 if (stat == MPID_NEM_TCP_SOCK_ERROR_EOF) { 1171 1171 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "state_l_cntd_handler() 1: changing to " 1172 1172 "quiescent")); … … 1254 1254 { 1255 1255 int mpi_errno = MPI_SUCCESS; 1256 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t stat;1256 MPID_NEM_TCP_SOCK_STATUS_t stat; 1257 1257 sockconn_t *fnd_sc; 1258 1258 int snd_nak = FALSE; … … 1261 1261 MPIDI_FUNC_ENTER(MPID_STATE_STATE_L_RANKRCVD_HANDLER); 1262 1262 1263 stat = MPID_nem_tcp_ module_check_sock_status(plfd);1264 if (stat == MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF) {1263 stat = MPID_nem_tcp_check_sock_status(plfd); 1264 if (stat == MPID_NEM_TCP_SOCK_ERROR_EOF) { 1265 1265 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "state_l_rankrcvd_handler() 1: changing to quiescent")); 1266 1266 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); … … 1275 1275 if (IS_WRITEABLE(plfd)) { 1276 1276 if (snd_nak) { 1277 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK) == MPI_SUCCESS) {1277 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_PKT_ID_NAK) == MPI_SUCCESS) { 1278 1278 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "state_l_rankrcvd_handler() 2: changing to quiescent")); 1279 1279 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); … … 1290 1290 if (VC_FIELD(sc->vc, sc_ref_count) > 1) goto fn_exit; 1291 1291 1292 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK) == MPI_SUCCESS) {1292 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_PKT_ID_ACK) == MPI_SUCCESS) { 1293 1293 CHANGE_STATE(sc, CONN_STATE_TS_COMMRDY); 1294 1294 ASSIGN_SC_TO_VC(sc->vc, sc); 1295 1295 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "connection established: sc=%p, sc->vc=%p, sc->fd=%d, is_same_pg=%s, pg_rank=%d", sc, sc->vc, sc->fd, (sc->is_same_pg ? "TRUE" : "FALSE"), sc->pg_rank)); 1296 MPID_nem_tcp_ module_conn_est (sc->vc);1296 MPID_nem_tcp_conn_est (sc->vc); 1297 1297 } 1298 1298 } … … 1311 1311 { 1312 1312 int mpi_errno = MPI_SUCCESS; 1313 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t stat;1313 MPID_NEM_TCP_SOCK_STATUS_t stat; 1314 1314 int snd_nak = FALSE; 1315 1315 MPIDI_STATE_DECL(MPID_STATE_STATE_L_TMPVCRCVD_HANDLER); … … 1317 1317 MPIDI_FUNC_ENTER(MPID_STATE_STATE_L_TMPVCRCVD_HANDLER); 1318 1318 1319 stat = MPID_nem_tcp_ module_check_sock_status(plfd);1320 if (stat == MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF) {1319 stat = MPID_nem_tcp_check_sock_status(plfd); 1320 if (stat == MPID_NEM_TCP_SOCK_ERROR_EOF) { 1321 1321 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); 1322 1322 goto fn_exit; … … 1325 1325 if (IS_WRITEABLE(plfd)) { 1326 1326 if (snd_nak) { 1327 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_NAK) == MPI_SUCCESS) {1327 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_PKT_TMPVC_NAK) == MPI_SUCCESS) { 1328 1328 CHANGE_STATE(sc, CONN_STATE_TS_D_QUIESCENT); 1329 1329 } 1330 1330 } 1331 1331 else { 1332 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK) == MPI_SUCCESS) {1332 if (send_cmd_pkt(sc->fd, MPIDI_NEM_TCP_PKT_TMPVC_ACK) == MPI_SUCCESS) { 1333 1333 CHANGE_STATE(sc, CONN_STATE_TS_COMMRDY); 1334 1334 ASSIGN_SC_TO_VC(sc->vc, sc); 1335 MPID_nem_tcp_ module_conn_est (sc->vc);1335 MPID_nem_tcp_conn_est (sc->vc); 1336 1336 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "fd=%d: TMPVC_ACK sent, connection established!", sc->fd)); 1337 1337 } … … 1345 1345 1346 1346 #undef FUNCNAME 1347 #define FUNCNAME MPID_nem_tcp_ module_recv_handler1348 #undef FCNAME 1349 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1350 static int MPID_nem_tcp_ module_recv_handler (struct pollfd *pfd, sockconn_t *sc)1347 #define FUNCNAME MPID_nem_tcp_recv_handler 1348 #undef FCNAME 1349 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1350 static int MPID_nem_tcp_recv_handler (struct pollfd *pfd, sockconn_t *sc) 1351 1351 { 1352 1352 int mpi_errno = MPI_SUCCESS; 1353 1353 ssize_t bytes_recvd; 1354 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_RECV_HANDLER);1355 1356 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_RECV_HANDLER);1354 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_RECV_HANDLER); 1355 1356 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_RECV_HANDLER); 1357 1357 1358 1358 if (((MPIDI_CH3I_VC *)sc->vc->channel_private)->recv_active == NULL) 1359 1359 { 1360 1360 /* receive a new message */ 1361 CHECK_EINTR(bytes_recvd, recv(sc->fd, MPID_nem_tcp_ module_recv_buf, MPID_NEM_TCP_MODULE_RECV_MAX_PKT_LEN, 0));1361 CHECK_EINTR(bytes_recvd, recv(sc->fd, MPID_nem_tcp_recv_buf, MPID_NEM_TCP_RECV_MAX_PKT_LEN, 0)); 1362 1362 if (bytes_recvd <= 0) 1363 1363 { … … 1397 1397 MPIU_DBG_MSG_FMT(CH3_CHANNEL, VERBOSE, (MPIU_DBG_FDEST, "New recv %d (fd=%d, vc=%p, sc=%p)", bytes_recvd, sc->fd, sc->vc, sc)); 1398 1398 1399 mpi_errno = MPID_nem_handle_pkt(sc->vc, MPID_nem_tcp_ module_recv_buf, bytes_recvd);1399 mpi_errno = MPID_nem_handle_pkt(sc->vc, MPID_nem_tcp_recv_buf, bytes_recvd); 1400 1400 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 1401 1401 } … … 1470 1470 1471 1471 fn_exit: 1472 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_RECV_HANDLER);1472 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_RECV_HANDLER); 1473 1473 return mpi_errno; 1474 1474 fn_fail: … … 1489 1489 if (IS_READABLE(plfd)) 1490 1490 { 1491 mpi_errno = MPID_nem_tcp_ module_recv_handler(plfd, sc);1491 mpi_errno = MPID_nem_tcp_recv_handler(plfd, sc); 1492 1492 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 1493 1493 } 1494 1494 if (IS_WRITEABLE(plfd)) 1495 1495 { 1496 mpi_errno = MPID_nem_tcp_ module_send_queued(sc->vc);1496 mpi_errno = MPID_nem_tcp_send_queued(sc->vc); 1497 1497 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 1498 1498 } … … 1528 1528 1529 1529 #undef FUNCNAME 1530 #define FUNCNAME MPID_nem_tcp_ module_sm_init1531 #undef FCNAME 1532 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1533 int MPID_nem_tcp_ module_sm_init()1530 #define FUNCNAME MPID_nem_tcp_sm_init 1531 #undef FCNAME 1532 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1533 int MPID_nem_tcp_sm_init() 1534 1534 { 1535 1535 /* Set the appropriate handlers */ … … 1563 1563 1564 1564 #undef FUNCNAME 1565 #define FUNCNAME MPID_nem_tcp_ module_sm_finalize1566 #undef FCNAME 1567 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1568 int MPID_nem_tcp_ module_sm_finalize()1565 #define FUNCNAME MPID_nem_tcp_sm_finalize 1566 #undef FCNAME 1567 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1568 int MPID_nem_tcp_sm_finalize() 1569 1569 { 1570 1570 freenode_t *node; … … 1589 1589 */ 1590 1590 #undef FUNCNAME 1591 #define FUNCNAME MPID_nem_tcp_ module_connpoll1592 #undef FCNAME 1593 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1594 int MPID_nem_tcp_ module_connpoll()1591 #define FUNCNAME MPID_nem_tcp_connpoll 1592 #undef FCNAME 1593 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1594 int MPID_nem_tcp_connpoll() 1595 1595 { 1596 1596 int mpi_errno = MPI_SUCCESS, n, i; … … 1600 1600 int num_polled = g_tbl_size; 1601 1601 1602 CHECK_EINTR(n, poll(MPID_nem_tcp_ module_plfd_tbl, num_polled, 0));1602 CHECK_EINTR(n, poll(MPID_nem_tcp_plfd_tbl, num_polled, 0)); 1603 1603 MPIU_ERR_CHKANDJUMP1 (n == -1, mpi_errno, MPI_ERR_OTHER, 1604 1604 "**poll", "**poll %s", strerror (errno)); … … 1606 1606 for(i = 0; i < num_polled; i++) 1607 1607 { 1608 pollfd_t *it_plfd = &MPID_nem_tcp_ module_plfd_tbl[i];1608 pollfd_t *it_plfd = &MPID_nem_tcp_plfd_tbl[i]; 1609 1609 sockconn_t *it_sc = &g_sc_tbl[i]; 1610 1610 … … 1658 1658 #undef FCNAME 1659 1659 #define FCNAME MPIDI_QUOTE(FUNCNAME) 1660 int MPID_nem_tcp_ module_state_listening_handler(pollfd_t *const unused_1, sockconn_t *const unused_2)1660 int MPID_nem_tcp_state_listening_handler(pollfd_t *const unused_1, sockconn_t *const unused_2) 1661 1661 /* listener fd poll struct and sockconn structure */ 1662 1662 { … … 1667 1667 pollfd_t *l_plfd; 1668 1668 sockconn_t *l_sc; 1669 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_STATE_LISTENING_HANDLER);1670 1671 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_STATE_LISTENING_HANDLER);1669 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_STATE_LISTENING_HANDLER); 1670 1671 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_STATE_LISTENING_HANDLER); 1672 1672 1673 1673 while (1) { 1674 1674 l_sc = &g_sc_tbl[0]; /* N3 Important */ 1675 l_plfd = &MPID_nem_tcp_ module_plfd_tbl[0];1675 l_plfd = &MPID_nem_tcp_plfd_tbl[0]; 1676 1676 len = sizeof(SA_IN); 1677 1677 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "before accept")); … … 1690 1690 sockconn_t *sc; 1691 1691 1692 MPID_nem_tcp_ module_set_sockopts(connfd); /* (N2) */1692 MPID_nem_tcp_set_sockopts(connfd); /* (N2) */ 1693 1693 mpi_errno = find_free_entry(&index); 1694 1694 if (mpi_errno != MPI_SUCCESS) MPIU_ERR_POP (mpi_errno); 1695 1695 sc = &g_sc_tbl[index]; 1696 plfd = &MPID_nem_tcp_ module_plfd_tbl[index];1696 plfd = &MPID_nem_tcp_plfd_tbl[index]; 1697 1697 1698 1698 sc->fd = plfd->fd = connfd; … … 1708 1708 1709 1709 fn_exit: 1710 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_STATE_LISTENING_HANDLER);1710 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_STATE_LISTENING_HANDLER); 1711 1711 return mpi_errno; 1712 1712 fn_fail: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/socksm.h
r3751 r3763 30 30 31 31 typedef enum { 32 MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF, /* either a socket error or EOF received from peer */33 MPID_NEM_TCP_ MODULE_SOCK_CONNECTED,34 MPID_NEM_TCP_ MODULE_SOCK_NOEVENT /* No poll event on socket */35 }MPID_NEM_TCP_ MODULE_SOCK_STATUS_t;32 MPID_NEM_TCP_SOCK_ERROR_EOF, /* either a socket error or EOF received from peer */ 33 MPID_NEM_TCP_SOCK_CONNECTED, 34 MPID_NEM_TCP_SOCK_NOEVENT /* No poll event on socket */ 35 }MPID_NEM_TCP_SOCK_STATUS_t; 36 36 37 37 #define M_(x) x … … 71 71 72 72 typedef enum CONN_TYPE {CONN_TYPE_, CONN_TYPE_SIZE} Conn_type_t; 73 typedef enum MPID_nem_tcp_ module_Listen_State {LISTEN_STATE_, LISTEN_STATE_SIZE}74 MPID_nem_tcp_ module_Listen_State_t ;73 typedef enum MPID_nem_tcp_Listen_State {LISTEN_STATE_, LISTEN_STATE_SIZE} 74 MPID_nem_tcp_Listen_State_t ; 75 75 76 typedef enum MPID_nem_tcp_ module_Conn_State {CONN_STATE_, CONN_STATE_SIZE}77 MPID_nem_tcp_ module_Conn_State_t;76 typedef enum MPID_nem_tcp_Conn_State {CONN_STATE_, CONN_STATE_SIZE} 77 MPID_nem_tcp_Conn_State_t; 78 78 79 79 /* … … 122 122 (_sc)->state.cstate = (_cstate); \ 123 123 (_sc)->handler = sc_state_info[_cstate].sc_state_handler; \ 124 MPID_nem_tcp_ module_plfd_tbl[(_sc)->index].events = sc_state_info[_cstate].sc_state_plfd_events; \124 MPID_nem_tcp_plfd_tbl[(_sc)->index].events = sc_state_info[_cstate].sc_state_plfd_events; \ 125 125 } while(0) 126 126 127 struct MPID_nem_new_tcp_ module_sockconn;128 typedef struct MPID_nem_new_tcp_ module_sockconn sockconn_t;127 struct MPID_nem_new_tcp_sockconn; 128 typedef struct MPID_nem_new_tcp_sockconn sockconn_t; 129 129 typedef struct pollfd pollfd_t; 130 130 … … 132 132 typedef int (*handler_func_t) (pollfd_t *const plfd, sockconn_t *const conn); 133 133 134 struct MPID_nem_new_tcp_ module_sockconn{134 struct MPID_nem_new_tcp_sockconn{ 135 135 int fd; 136 136 int index; … … 146 146 char *pg_id; /* MUST be used only if is_same_pg == FALSE */ 147 147 union { 148 MPID_nem_tcp_ module_Conn_State_t cstate;149 MPID_nem_tcp_ module_Listen_State_t lstate;148 MPID_nem_tcp_Conn_State_t cstate; 149 MPID_nem_tcp_Listen_State_t lstate; 150 150 }state; 151 151 MPIDI_VC_t *vc; … … 154 154 }; 155 155 156 typedef enum MPIDI_nem_tcp_ module_pkt_type {157 MPIDI_NEM_TCP_ MODULE_PKT_ID_INFO, /* ID = rank + pg_id */158 MPIDI_NEM_TCP_ MODULE_PKT_ID_ACK,159 MPIDI_NEM_TCP_ MODULE_PKT_ID_NAK,160 MPIDI_NEM_TCP_ MODULE_PKT_DISC_REQ,161 MPIDI_NEM_TCP_ MODULE_PKT_DISC_ACK,162 MPIDI_NEM_TCP_ MODULE_PKT_DISC_NAK,163 MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_INFO,164 MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_ACK,165 MPIDI_NEM_TCP_ MODULE_PKT_TMPVC_NAK166 } MPIDI_nem_tcp_ module_pkt_type_t;156 typedef enum MPIDI_nem_tcp_pkt_type { 157 MPIDI_NEM_TCP_PKT_ID_INFO, /* ID = rank + pg_id */ 158 MPIDI_NEM_TCP_PKT_ID_ACK, 159 MPIDI_NEM_TCP_PKT_ID_NAK, 160 MPIDI_NEM_TCP_PKT_DISC_REQ, 161 MPIDI_NEM_TCP_PKT_DISC_ACK, 162 MPIDI_NEM_TCP_PKT_DISC_NAK, 163 MPIDI_NEM_TCP_PKT_TMPVC_INFO, 164 MPIDI_NEM_TCP_PKT_TMPVC_ACK, 165 MPIDI_NEM_TCP_PKT_TMPVC_NAK 166 } MPIDI_nem_tcp_pkt_type_t; 167 167 168 typedef struct MPIDI_nem_tcp_ module_header {169 MPIDI_nem_tcp_ module_pkt_type_t pkt_type;168 typedef struct MPIDI_nem_tcp_header { 169 MPIDI_nem_tcp_pkt_type_t pkt_type; 170 170 int datalen; 171 } MPIDI_nem_tcp_ module_header_t;171 } MPIDI_nem_tcp_header_t; 172 172 173 typedef struct MPIDI_nem_tcp_ module_idinfo {173 typedef struct MPIDI_nem_tcp_idinfo { 174 174 int pg_rank; 175 175 /* Commented intentionally */ … … 179 179 /* in the future), datalen of header itself is enough to find the offset of pg_id */ 180 180 /* in the packet to be sent. */ 181 } MPIDI_nem_tcp_ module_idinfo_t;181 } MPIDI_nem_tcp_idinfo_t; 182 182 183 183 /* FIXME: bc actually contains port_name info */ 184 typedef struct MPIDI_nem_tcp_ module_portinfo {184 typedef struct MPIDI_nem_tcp_portinfo { 185 185 int port_name_tag; 186 } MPIDI_nem_tcp_ module_portinfo_t;186 } MPIDI_nem_tcp_portinfo_t; 187 187 188 188 189 #define MPID_nem_tcp_ module_vc_is_connected(vc) (VC_FIELD(vc, sc) && VC_FIELD(vc, sc)->state.cstate == CONN_STATE_TS_COMMRDY)189 #define MPID_nem_tcp_vc_is_connected(vc) (VC_FIELD(vc, sc) && VC_FIELD(vc, sc)->state.cstate == CONN_STATE_TS_COMMRDY) 190 190 191 191 #endif mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_finalize.c
r3751 r3763 5 5 */ 6 6 7 #include "tcp_ module_impl.h"7 #include "tcp_impl.h" 8 8 9 9 #undef FUNCNAME 10 #define FUNCNAME MPID_nem_tcp_ module_finalize10 #define FUNCNAME MPID_nem_tcp_finalize 11 11 #undef FCNAME 12 12 #define FCNAME MPIDI_QUOTE(FUNCNAME) 13 int MPID_nem_tcp_ module_finalize()13 int MPID_nem_tcp_finalize() 14 14 { 15 15 int mpi_errno = MPI_SUCCESS; 16 16 int ret; 17 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_FINALIZE);17 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_FINALIZE); 18 18 19 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_FINALIZE);19 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_FINALIZE); 20 20 21 mpi_errno = MPID_nem_tcp_ module_poll_finalize();21 mpi_errno = MPID_nem_tcp_poll_finalize(); 22 22 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 23 mpi_errno = MPID_nem_tcp_ module_send_finalize();23 mpi_errno = MPID_nem_tcp_send_finalize(); 24 24 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 25 mpi_errno = MPID_nem_tcp_ module_sm_finalize();25 mpi_errno = MPID_nem_tcp_sm_finalize(); 26 26 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 27 27 28 if (MPID_nem_tcp_ module_g_lstn_sc.fd)28 if (MPID_nem_tcp_g_lstn_sc.fd) 29 29 { 30 CHECK_EINTR (ret, close(MPID_nem_tcp_ module_g_lstn_sc.fd));30 CHECK_EINTR (ret, close(MPID_nem_tcp_g_lstn_sc.fd)); 31 31 MPIU_ERR_CHKANDJUMP2 (ret == -1, mpi_errno, MPI_ERR_OTHER, "**closesocket", "**closesocket %s %d", errno, strerror (errno)); 32 32 } 33 33 34 34 fn_exit: 35 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_FINALIZE);35 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_FINALIZE); 36 36 return mpi_errno; 37 37 fn_fail: … … 40 40 41 41 #undef FUNCNAME 42 #define FUNCNAME MPID_nem_tcp_ module_ckpt_shutdown42 #define FUNCNAME MPID_nem_tcp_ckpt_shutdown 43 43 #undef FCNAME 44 44 #define FCNAME MPIDI_QUOTE(FUNCNAME) 45 int MPID_nem_tcp_ module_ckpt_shutdown()45 int MPID_nem_tcp_ckpt_shutdown() 46 46 { 47 return MPID_nem_tcp_ module_finalize();47 return MPID_nem_tcp_finalize(); 48 48 } 49 49 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_getip.c
r3751 r3763 30 30 #endif 31 31 32 #include "tcp_ module_impl.h"32 #include "tcp_impl.h" 33 33 #include <sys/types.h> 34 34 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_impl.h
r3751 r3763 5 5 */ 6 6 7 #ifndef TCP_ MODULE_IMPL_H8 #define TCP_ MODULE_IMPL_H7 #ifndef TCP_IMPL_H 8 #define TCP_IMPL_H 9 9 10 10 #include "mpid_nem_impl.h" … … 18 18 19 19 /* globals */ 20 extern pollfd_t *MPID_nem_tcp_ module_plfd_tbl;21 extern sockconn_t MPID_nem_tcp_ module_g_lstn_sc;22 extern pollfd_t MPID_nem_tcp_ module_g_lstn_plfd;20 extern pollfd_t *MPID_nem_tcp_plfd_tbl; 21 extern sockconn_t MPID_nem_tcp_g_lstn_sc; 22 extern pollfd_t MPID_nem_tcp_g_lstn_plfd; 23 23 24 extern char *MPID_nem_tcp_ module_recv_buf;25 #define MPID_NEM_TCP_ MODULE_RECV_MAX_PKT_LEN 102424 extern char *MPID_nem_tcp_recv_buf; 25 #define MPID_NEM_TCP_RECV_MAX_PKT_LEN 1024 26 26 27 27 28 #define MPID_NEM_TCP_ MODULE_VC_STATE_DISCONNECTED 029 #define MPID_NEM_TCP_ MODULE_VC_STATE_CONNECTED 128 #define MPID_NEM_TCP_VC_STATE_DISCONNECTED 0 29 #define MPID_NEM_TCP_VC_STATE_CONNECTED 1 30 30 31 31 /* The vc provides a generic buffer in which network modules can store … … 35 35 { 36 36 struct sockaddr_in sock_id; 37 struct MPID_nem_new_tcp_ module_sockconn *sc;37 struct MPID_nem_new_tcp_sockconn *sc; 38 38 struct 39 39 { … … 44 44 /* this is a count of how many sc objects refer to this vc */ 45 45 int sc_ref_count; 46 } MPID_nem_tcp_ module_vc_area;46 } MPID_nem_tcp_vc_area; 47 47 48 48 /* accessor macro to private fields in VC */ 49 #define VC_FIELD(vc, field) (((MPID_nem_tcp_ module_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field)49 #define VC_FIELD(vc, field) (((MPID_nem_tcp_vc_area *)((MPIDI_CH3I_VC *)(vc)->channel_private)->netmod_area.padding)->field) 50 50 51 51 #define ASSIGN_SC_TO_VC(vc_, sc_) \ … … 55 55 56 56 /* functions */ 57 int MPID_nem_tcp_ module_init (MPID_nem_queue_ptr_t proc_recv_queue,57 int MPID_nem_tcp_init (MPID_nem_queue_ptr_t proc_recv_queue, 58 58 MPID_nem_queue_ptr_t proc_free_queue, 59 59 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, … … 62 62 MPIDI_PG_t *pg_p, int pg_rank, 63 63 char **bc_val_p, int *val_max_sz_p); 64 int MPID_nem_tcp_ module_finalize (void);65 int MPID_nem_tcp_ module_ckpt_shutdown (void);66 int MPID_nem_tcp_ module_poll (MPID_nem_poll_dir_t in_or_out);67 int MPID_nem_tcp_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);68 int MPID_nem_tcp_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);69 int MPID_nem_tcp_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);70 int MPID_nem_tcp_ module_vc_init (MPIDI_VC_t *vc);71 int MPID_nem_tcp_ module_vc_destroy(MPIDI_VC_t *vc);72 int MPID_nem_tcp_ module_vc_terminate (MPIDI_VC_t *vc);64 int MPID_nem_tcp_finalize (void); 65 int MPID_nem_tcp_ckpt_shutdown (void); 66 int MPID_nem_tcp_poll (MPID_nem_poll_dir_t in_or_out); 67 int MPID_nem_tcp_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen); 68 int MPID_nem_tcp_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p); 69 int MPID_nem_tcp_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc); 70 int MPID_nem_tcp_vc_init (MPIDI_VC_t *vc); 71 int MPID_nem_tcp_vc_destroy(MPIDI_VC_t *vc); 72 int MPID_nem_tcp_vc_terminate (MPIDI_VC_t *vc); 73 73 74 74 /* completion counter is atomically decremented when operation completes */ 75 int MPID_nem_tcp_ module_get (void *target_p, void *source_p, int source_node, int len, int *completion_ctr);76 int MPID_nem_tcp_ module_put (void *target_p, int target_node, void *source_p, int len, int *completion_ctr);75 int MPID_nem_tcp_get (void *target_p, void *source_p, int source_node, int len, int *completion_ctr); 76 int MPID_nem_tcp_put (void *target_p, int target_node, void *source_p, int len, int *completion_ctr); 77 77 78 int MPID_nem_tcp_ module_send_init(void);79 int MPID_nem_tcp_ module_poll_init(void);80 int MPID_nem_tcp_ module_connect(struct MPIDI_VC *const vc);81 int MPID_nem_tcp_ module_connpoll(void);82 int MPID_nem_tcp_ module_sm_init(void);83 int MPID_nem_tcp_ module_sm_finalize(void);84 int MPID_nem_tcp_ module_set_sockopts(int fd);85 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t MPID_nem_tcp_module_check_sock_status(const pollfd_t *const plfd);86 int MPID_nem_tcp_ module_poll_finalize(void);87 int MPID_nem_tcp_ module_send_finalize(void);88 int MPID_nem_tcp_ module_bind(int sockfd);89 int MPID_nem_tcp_ module_conn_est(MPIDI_VC_t *vc);90 int MPID_nem_tcp_ module_get_conninfo(struct MPIDI_VC *vc, struct sockaddr_in *addr, char **pg_id, int *pg_rank);91 int MPID_nem_tcp_ module_get_vc_from_conninfo(char *pg_id, int pg_rank, struct MPIDI_VC **vc);92 int MPID_nem_tcp_ module_is_sock_connected(int fd);93 int MPID_nem_tcp_ module_disconnect(struct MPIDI_VC *const vc);94 int MPID_nem_tcp_ module_cleanup (struct MPIDI_VC *const vc);95 int MPID_nem_tcp_ module_state_listening_handler(pollfd_t *const l_plfd, sockconn_t *const l_sc);96 int MPID_nem_tcp_ module_send_queued(MPIDI_VC_t *vc);78 int MPID_nem_tcp_send_init(void); 79 int MPID_nem_tcp_poll_init(void); 80 int MPID_nem_tcp_connect(struct MPIDI_VC *const vc); 81 int MPID_nem_tcp_connpoll(void); 82 int MPID_nem_tcp_sm_init(void); 83 int MPID_nem_tcp_sm_finalize(void); 84 int MPID_nem_tcp_set_sockopts(int fd); 85 MPID_NEM_TCP_SOCK_STATUS_t MPID_nem_tcp_check_sock_status(const pollfd_t *const plfd); 86 int MPID_nem_tcp_poll_finalize(void); 87 int MPID_nem_tcp_send_finalize(void); 88 int MPID_nem_tcp_bind(int sockfd); 89 int MPID_nem_tcp_conn_est(MPIDI_VC_t *vc); 90 int MPID_nem_tcp_get_conninfo(struct MPIDI_VC *vc, struct sockaddr_in *addr, char **pg_id, int *pg_rank); 91 int MPID_nem_tcp_get_vc_from_conninfo(char *pg_id, int pg_rank, struct MPIDI_VC **vc); 92 int MPID_nem_tcp_is_sock_connected(int fd); 93 int MPID_nem_tcp_disconnect(struct MPIDI_VC *const vc); 94 int MPID_nem_tcp_cleanup (struct MPIDI_VC *const vc); 95 int MPID_nem_tcp_state_listening_handler(pollfd_t *const l_plfd, sockconn_t *const l_sc); 96 int MPID_nem_tcp_send_queued(MPIDI_VC_t *vc); 97 97 98 98 int MPID_nem_tcp_iSendContig(MPIDI_VC_t *vc, MPID_Request *sreq, void *hdr, MPIDI_msg_sz_t hdr_sz, void *data, MPIDI_msg_sz_t data_sz); … … 100 100 MPID_Request **sreq_ptr); 101 101 int MPID_nem_tcp_SendNoncontig(MPIDI_VC_t *vc, MPID_Request *sreq, void *header, MPIDI_msg_sz_t hdr_sz); 102 int MPID_nem_tcp_ module_get_addr_port_from_bc(const char *business_card, struct in_addr *addr, in_port_t *port);102 int MPID_nem_tcp_get_addr_port_from_bc(const char *business_card, struct in_addr *addr, in_port_t *port); 103 103 104 void MPID_nem_tcp_ module_vc_dbg_print_sendq(FILE *stream, MPIDI_VC_t *vc);104 void MPID_nem_tcp_vc_dbg_print_sendq(FILE *stream, MPIDI_VC_t *vc); 105 105 106 int MPID_nem_tcp_ module_socksm_finalize(void);107 int MPID_nem_tcp_ module_socksm_init(void);106 int MPID_nem_tcp_socksm_finalize(void); 107 int MPID_nem_tcp_socksm_init(void); 108 108 109 109 … … 143 143 #define VC_L_EMPTY(q) GENERIC_L_EMPTY (q) 144 144 #define VC_L_HEAD(q) GENERIC_L_HEAD (q) 145 #define SET_PLFD(ep) MPID_nem_tcp_ module_plfd_tbl[VC_FIELD(ep, sc)->index].events |= POLLOUT146 #define UNSET_PLFD(ep) MPID_nem_tcp_ module_plfd_tbl[VC_FIELD(ep, sc)->index].events &= ~POLLOUT145 #define SET_PLFD(ep) MPID_nem_tcp_plfd_tbl[VC_FIELD(ep, sc)->index].events |= POLLOUT 146 #define UNSET_PLFD(ep) MPID_nem_tcp_plfd_tbl[VC_FIELD(ep, sc)->index].events &= ~POLLOUT 147 147 148 148 /* stack macros */ … … 167 167 int MPIDI_GetIPInterface( MPIDU_Sock_ifaddr_t *ifaddr, int *found ); 168 168 169 #endif /* TCP_ MODULE_IMPL_H */169 #endif /* TCP_IMPL_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_init.c
r3751 r3763 5 5 */ 6 6 7 #include "tcp_ module_impl.h"7 #include "tcp_impl.h" 8 8 #include <sys/types.h> 9 9 #include <sys/socket.h> … … 12 12 #define DBG_IFNAME 0 13 13 14 MPID_nem_netmod_funcs_t MPIDI_nem_tcp_ module_funcs = {15 MPID_nem_tcp_ module_init,16 MPID_nem_tcp_ module_finalize,17 MPID_nem_tcp_ module_ckpt_shutdown,18 MPID_nem_tcp_ module_poll,19 MPID_nem_tcp_ module_send,20 MPID_nem_tcp_ module_get_business_card,21 MPID_nem_tcp_ module_connect_to_root,22 MPID_nem_tcp_ module_vc_init,23 MPID_nem_tcp_ module_vc_destroy,24 MPID_nem_tcp_ module_vc_terminate14 MPID_nem_netmod_funcs_t MPIDI_nem_tcp_funcs = { 15 MPID_nem_tcp_init, 16 MPID_nem_tcp_finalize, 17 MPID_nem_tcp_ckpt_shutdown, 18 MPID_nem_tcp_poll, 19 MPID_nem_tcp_send, 20 MPID_nem_tcp_get_business_card, 21 MPID_nem_tcp_connect_to_root, 22 MPID_nem_tcp_vc_init, 23 MPID_nem_tcp_vc_destroy, 24 MPID_nem_tcp_vc_terminate 25 25 }; 26 26 … … 30 30 31 31 #undef FUNCNAME 32 #define FUNCNAME MPID_nem_tcp_ module_init33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_tcp_ module_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue,32 #define FUNCNAME MPID_nem_tcp_init 33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_tcp_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t proc_free_queue, 36 36 MPID_nem_cell_ptr_t proc_elements, int num_proc_elements, MPID_nem_cell_ptr_t module_elements, 37 37 int num_module_elements, MPID_nem_queue_ptr_t *module_free_queue, … … 40 40 int mpi_errno = MPI_SUCCESS; 41 41 int ret; 42 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_INIT);43 44 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_INIT);45 46 MPID_nem_net_module_vc_dbg_print_sendq = MPID_nem_tcp_ module_vc_dbg_print_sendq;42 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_INIT); 43 44 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_INIT); 45 46 MPID_nem_net_module_vc_dbg_print_sendq = MPID_nem_tcp_vc_dbg_print_sendq; 47 47 48 48 /* first make sure that our private fields in the vc fit into the area provided */ 49 MPIU_Assert(sizeof(MPID_nem_tcp_ module_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN);49 MPIU_Assert(sizeof(MPID_nem_tcp_vc_area) <= MPID_NEM_VC_NETMOD_AREA_LEN); 50 50 51 51 /* set up listener socket */ 52 52 /* fprintf(stdout, FCNAME " Enter\n"); fflush(stdout); */ 53 MPID_nem_tcp_ module_g_lstn_plfd.fd = MPID_nem_tcp_module_g_lstn_sc.fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);54 MPIU_ERR_CHKANDJUMP2 (MPID_nem_tcp_ module_g_lstn_sc.fd == -1, mpi_errno, MPI_ERR_OTHER, "**sock_create", "**sock_create %s %d", MPIU_Strerror (errno), errno);55 56 mpi_errno = MPID_nem_tcp_ module_set_sockopts (MPID_nem_tcp_module_g_lstn_sc.fd);53 MPID_nem_tcp_g_lstn_plfd.fd = MPID_nem_tcp_g_lstn_sc.fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); 54 MPIU_ERR_CHKANDJUMP2 (MPID_nem_tcp_g_lstn_sc.fd == -1, mpi_errno, MPI_ERR_OTHER, "**sock_create", "**sock_create %s %d", MPIU_Strerror (errno), errno); 55 56 mpi_errno = MPID_nem_tcp_set_sockopts (MPID_nem_tcp_g_lstn_sc.fd); 57 57 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 58 58 59 MPID_nem_tcp_ module_g_lstn_plfd.events = POLLIN;60 mpi_errno = MPID_nem_tcp_ module_bind (MPID_nem_tcp_module_g_lstn_sc.fd);59 MPID_nem_tcp_g_lstn_plfd.events = POLLIN; 60 mpi_errno = MPID_nem_tcp_bind (MPID_nem_tcp_g_lstn_sc.fd); 61 61 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 62 62 63 ret = listen (MPID_nem_tcp_ module_g_lstn_sc.fd, SOMAXCONN);63 ret = listen (MPID_nem_tcp_g_lstn_sc.fd, SOMAXCONN); 64 64 MPIU_ERR_CHKANDJUMP2 (ret == -1, mpi_errno, MPI_ERR_OTHER, "**listen", "**listen %s %d", errno, MPIU_Strerror (errno)); 65 MPID_nem_tcp_ module_g_lstn_sc.state.lstate = LISTEN_STATE_LISTENING;66 MPID_nem_tcp_ module_g_lstn_sc.handler = MPID_nem_tcp_module_state_listening_handler;65 MPID_nem_tcp_g_lstn_sc.state.lstate = LISTEN_STATE_LISTENING; 66 MPID_nem_tcp_g_lstn_sc.handler = MPID_nem_tcp_state_listening_handler; 67 67 68 68 /* create business card */ 69 mpi_errno = MPID_nem_tcp_ module_get_business_card(pg_rank, bc_val_p, val_max_sz_p);69 mpi_errno = MPID_nem_tcp_get_business_card(pg_rank, bc_val_p, val_max_sz_p); 70 70 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 71 71 72 72 *module_free_queue = NULL; 73 73 74 mpi_errno = MPID_nem_tcp_ module_sm_init();75 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 76 mpi_errno = MPID_nem_tcp_ module_send_init();77 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 78 mpi_errno = MPID_nem_tcp_ module_poll_init();79 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 80 81 82 fn_exit: 83 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_INIT);74 mpi_errno = MPID_nem_tcp_sm_init(); 75 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 76 mpi_errno = MPID_nem_tcp_send_init(); 77 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 78 mpi_errno = MPID_nem_tcp_poll_init(); 79 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 80 81 82 fn_exit: 83 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_INIT); 84 84 /* fprintf(stdout, FCNAME " Exit\n"); fflush(stdout); */ 85 85 return mpi_errno; … … 186 186 187 187 #undef FUNCNAME 188 #define FUNCNAME MPID_nem_tcp_ module_get_business_card189 #undef FCNAME 190 #define FCNAME MPIDI_QUOTE(FUNCNAME) 191 int MPID_nem_tcp_ module_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p)188 #define FUNCNAME MPID_nem_tcp_get_business_card 189 #undef FCNAME 190 #define FCNAME MPIDI_QUOTE(FUNCNAME) 191 int MPID_nem_tcp_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p) 192 192 { 193 193 int mpi_errno = MPI_SUCCESS; … … 197 197 struct sockaddr_in sock_id; 198 198 socklen_t len; 199 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_BUSINESS_CARD);200 201 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_BUSINESS_CARD);199 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_GET_BUSINESS_CARD); 200 201 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_GET_BUSINESS_CARD); 202 202 203 203 mpi_errno = GetSockInterfaceAddr(my_rank, ifname, sizeof(ifname), &ifaddr); … … 219 219 220 220 len = sizeof(sock_id); 221 ret = getsockname (MPID_nem_tcp_ module_g_lstn_sc.fd, (struct sockaddr *)&sock_id, &len);221 ret = getsockname (MPID_nem_tcp_g_lstn_sc.fd, (struct sockaddr *)&sock_id, &len); 222 222 MPIU_ERR_CHKANDJUMP1 (ret == -1, mpi_errno, MPI_ERR_OTHER, "**getsockname", "**getsockname %s", MPIU_Strerror (errno)); 223 223 … … 258 258 } 259 259 260 /* printf("MPID_nem_tcp_ module_get_business_card. port=%d\n", sock_id.sin_port); */261 262 fn_exit: 263 /* fprintf(stdout, "MPID_nem_tcp_ module_get_business_card Exit, mpi_errno=%d\n", mpi_errno); fflush(stdout); */264 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_BUSINESS_CARD);265 return mpi_errno; 266 fn_fail: 267 goto fn_exit; 268 } 269 270 #undef FUNCNAME 271 #define FUNCNAME MPID_nem_tcp_ module_connect_to_root272 #undef FCNAME 273 #define FCNAME MPIDI_QUOTE(FUNCNAME) 274 int MPID_nem_tcp_ module_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc)260 /* printf("MPID_nem_tcp_get_business_card. port=%d\n", sock_id.sin_port); */ 261 262 fn_exit: 263 /* fprintf(stdout, "MPID_nem_tcp_get_business_card Exit, mpi_errno=%d\n", mpi_errno); fflush(stdout); */ 264 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_GET_BUSINESS_CARD); 265 return mpi_errno; 266 fn_fail: 267 goto fn_exit; 268 } 269 270 #undef FUNCNAME 271 #define FUNCNAME MPID_nem_tcp_connect_to_root 272 #undef FCNAME 273 #define FCNAME MPIDI_QUOTE(FUNCNAME) 274 int MPID_nem_tcp_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc) 275 275 { 276 276 int mpi_errno = MPI_SUCCESS; 277 277 struct in_addr addr; 278 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT_TO_ROOT);279 280 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT_TO_ROOT);278 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_CONNECT_TO_ROOT); 279 280 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_CONNECT_TO_ROOT); 281 281 282 282 /* vc is already allocated before reaching this point */ 283 283 284 mpi_errno = MPID_nem_tcp_ module_get_addr_port_from_bc(business_card, &addr, &(VC_FIELD(new_vc, sock_id).sin_port));284 mpi_errno = MPID_nem_tcp_get_addr_port_from_bc(business_card, &addr, &(VC_FIELD(new_vc, sock_id).sin_port)); 285 285 VC_FIELD(new_vc, sock_id).sin_addr.s_addr = addr.s_addr; 286 286 if (mpi_errno) MPIU_ERR_POP(mpi_errno); … … 288 288 mpi_errno = MPIDI_GetTagFromPort(business_card, &new_vc->port_name_tag); 289 289 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 290 MPID_nem_tcp_ module_connect(new_vc);291 292 fn_exit: 293 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_CONNECT_TO_ROOT);294 return mpi_errno; 295 296 fn_fail: 297 goto fn_exit; 298 } 299 300 #undef FUNCNAME 301 #define FUNCNAME MPID_nem_tcp_ module_vc_init302 #undef FCNAME 303 #define FCNAME MPIDI_QUOTE(FUNCNAME) 304 int MPID_nem_tcp_ module_vc_init (MPIDI_VC_t *vc)290 MPID_nem_tcp_connect(new_vc); 291 292 fn_exit: 293 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_CONNECT_TO_ROOT); 294 return mpi_errno; 295 296 fn_fail: 297 goto fn_exit; 298 } 299 300 #undef FUNCNAME 301 #define FUNCNAME MPID_nem_tcp_vc_init 302 #undef FCNAME 303 #define FCNAME MPIDI_QUOTE(FUNCNAME) 304 int MPID_nem_tcp_vc_init (MPIDI_VC_t *vc) 305 305 { 306 306 int mpi_errno = MPI_SUCCESS; 307 307 MPIDI_CH3I_VC *vc_ch = (MPIDI_CH3I_VC *)vc->channel_private; 308 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_VC_INIT);309 310 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_VC_INIT);311 312 vc_ch->state = MPID_NEM_TCP_ MODULE_VC_STATE_DISCONNECTED;308 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_VC_INIT); 309 310 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_VC_INIT); 311 312 vc_ch->state = MPID_NEM_TCP_VC_STATE_DISCONNECTED; 313 313 314 314 vc->sendNoncontig_fn = MPID_nem_tcp_SendNoncontig; … … 326 326 VC_FIELD(vc, sc_ref_count) = 0; 327 327 328 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_VC_INIT);329 return mpi_errno; 330 } 331 332 #undef FUNCNAME 333 #define FUNCNAME MPID_nem_tcp_ module_vc_destroy334 #undef FCNAME 335 #define FCNAME MPIDI_QUOTE(FUNCNAME) 336 int MPID_nem_tcp_ module_vc_destroy(MPIDI_VC_t *vc)328 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_VC_INIT); 329 return mpi_errno; 330 } 331 332 #undef FUNCNAME 333 #define FUNCNAME MPID_nem_tcp_vc_destroy 334 #undef FCNAME 335 #define FCNAME MPIDI_QUOTE(FUNCNAME) 336 int MPID_nem_tcp_vc_destroy(MPIDI_VC_t *vc) 337 337 { 338 338 int mpi_errno = MPI_SUCCESS; … … 347 347 goto fn_exit; 348 348 349 plfd = &MPID_nem_tcp_ module_plfd_tbl[sc->index];349 plfd = &MPID_nem_tcp_plfd_tbl[sc->index]; 350 350 #endif 351 351 … … 360 360 361 361 #undef FUNCNAME 362 #define FUNCNAME MPID_nem_tcp_ module_get_addr_port_from_bc363 #undef FCNAME 364 #define FCNAME MPIDI_QUOTE(FUNCNAME) 365 int MPID_nem_tcp_ module_get_addr_port_from_bc(const char *business_card, struct in_addr *addr, in_port_t *port)362 #define FUNCNAME MPID_nem_tcp_get_addr_port_from_bc 363 #undef FCNAME 364 #define FCNAME MPIDI_QUOTE(FUNCNAME) 365 int MPID_nem_tcp_get_addr_port_from_bc(const char *business_card, struct in_addr *addr, in_port_t *port) 366 366 { 367 367 int mpi_errno = MPI_SUCCESS; … … 370 370 /*char desc_str[256];*/ 371 371 char ifname[256]; 372 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_ADDR_PORT_FROM_BC);373 374 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_ADDR_PORT_FROM_BC);372 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_GET_ADDR_PORT_FROM_BC); 373 374 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_GET_ADDR_PORT_FROM_BC); 375 375 376 376 /* fprintf(stdout, FCNAME " Enter\n"); fflush(stdout); */ … … 398 398 fn_exit: 399 399 /* fprintf(stdout, FCNAME " Exit\n"); fflush(stdout); */ 400 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_ADDR_PORT_FROM_BC);400 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_GET_ADDR_PORT_FROM_BC); 401 401 return mpi_errno; 402 402 fn_fail: … … 406 406 } 407 407 408 /* MPID_nem_tcp_ module_bind -- if MPICH_PORT_RANGE is set, this408 /* MPID_nem_tcp_bind -- if MPICH_PORT_RANGE is set, this 409 409 binds the socket to an available port number in the range. 410 410 Otherwise, it binds it to any addr and any port */ 411 411 #undef FUNCNAME 412 #define FUNCNAME MPID_nem_tcp_ module_bind413 #undef FCNAME 414 #define FCNAME MPIDI_QUOTE(FUNCNAME) 415 int MPID_nem_tcp_ module_bind (int sockfd)412 #define FUNCNAME MPID_nem_tcp_bind 413 #undef FCNAME 414 #define FCNAME MPIDI_QUOTE(FUNCNAME) 415 int MPID_nem_tcp_bind (int sockfd) 416 416 { 417 417 int mpi_errno = MPI_SUCCESS; … … 419 419 struct sockaddr_in sin; 420 420 int port, low_port, high_port; 421 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_BIND);422 423 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_BIND);421 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_BIND); 422 423 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_BIND); 424 424 425 425 low_port = 0; … … 453 453 /* fprintf(stdout, "sockfd=%d port=%d bound\n", sockfd, port); */ 454 454 /* fprintf(stdout, FCNAME " Exit\n"); fflush(stdout); */ 455 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_BIND);455 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_BIND); 456 456 return mpi_errno; 457 457 fn_fail: … … 463 463 464 464 #undef FUNCNAME 465 #define FUNCNAME MPID_nem_tcp_ module_vc_terminate466 #undef FCNAME 467 #define FCNAME MPIDI_QUOTE(FUNCNAME) 468 int MPID_nem_tcp_ module_vc_terminate (MPIDI_VC_t *vc)469 { 470 int mpi_errno = MPI_SUCCESS; 471 MPIDI_STATE_DECL(MPID_NEM_TCP_ MODULE_VC_TERMINATE);472 473 MPIDI_FUNC_ENTER(MPID_NEM_TCP_ MODULE_VC_TERMINATE);474 475 mpi_errno = MPID_nem_tcp_ module_cleanup(vc);476 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 477 478 fn_exit: 479 MPIDI_FUNC_EXIT(MPID_NEM_TCP_ MODULE_VC_TERMINATE);465 #define FUNCNAME MPID_nem_tcp_vc_terminate 466 #undef FCNAME 467 #define FCNAME MPIDI_QUOTE(FUNCNAME) 468 int MPID_nem_tcp_vc_terminate (MPIDI_VC_t *vc) 469 { 470 int mpi_errno = MPI_SUCCESS; 471 MPIDI_STATE_DECL(MPID_NEM_TCP_VC_TERMINATE); 472 473 MPIDI_FUNC_ENTER(MPID_NEM_TCP_VC_TERMINATE); 474 475 mpi_errno = MPID_nem_tcp_cleanup(vc); 476 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 477 478 fn_exit: 479 MPIDI_FUNC_EXIT(MPID_NEM_TCP_VC_TERMINATE); 480 480 return mpi_errno; 481 481 fn_fail: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_poll.c
r3751 r3763 5 5 */ 6 6 7 #include "tcp_ module_impl.h"7 #include "tcp_impl.h" 8 8 #include "socksm.h" 9 9 #include <errno.h> 10 10 11 char *MPID_nem_tcp_ module_recv_buf = NULL; /* avoid common symbol */11 char *MPID_nem_tcp_recv_buf = NULL; /* avoid common symbol */ 12 12 13 13 #undef FUNCNAME 14 #define FUNCNAME MPID_nem_tcp_ module_poll_init14 #define FUNCNAME MPID_nem_tcp_poll_init 15 15 #undef FCNAME 16 16 #define FCNAME MPIDI_QUOTE(FUNCNAME) 17 int MPID_nem_tcp_ module_poll_init()17 int MPID_nem_tcp_poll_init() 18 18 { 19 19 int mpi_errno = MPI_SUCCESS; 20 20 MPIU_CHKPMEM_DECL(1); 21 21 22 MPIU_CHKPMEM_MALLOC(MPID_nem_tcp_ module_recv_buf, char*, MPID_NEM_TCP_MODULE_RECV_MAX_PKT_LEN, mpi_errno, "TCP temporary buffer");22 MPIU_CHKPMEM_MALLOC(MPID_nem_tcp_recv_buf, char*, MPID_NEM_TCP_RECV_MAX_PKT_LEN, mpi_errno, "TCP temporary buffer"); 23 23 MPIU_CHKPMEM_COMMIT(); 24 24 … … 31 31 32 32 33 int MPID_nem_tcp_ module_poll_finalize()33 int MPID_nem_tcp_poll_finalize() 34 34 { 35 MPIU_Free(MPID_nem_tcp_ module_recv_buf);35 MPIU_Free(MPID_nem_tcp_recv_buf); 36 36 return MPI_SUCCESS; 37 37 } … … 39 39 40 40 #undef FUNCNAME 41 #define FUNCNAME MPID_nem_tcp_ module_poll41 #define FUNCNAME MPID_nem_tcp_poll 42 42 #undef FCNAME 43 43 #define FCNAME MPIDI_QUOTE(FUNCNAME) 44 int MPID_nem_tcp_ module_poll (MPID_nem_poll_dir_t in_or_out)44 int MPID_nem_tcp_poll (MPID_nem_poll_dir_t in_or_out) 45 45 { 46 46 int mpi_errno = MPI_SUCCESS; 47 47 48 mpi_errno = MPID_nem_tcp_ module_connpoll();48 mpi_errno = MPID_nem_tcp_connpoll(); 49 49 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 50 50 mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_queue.h
r3751 r3763 5 5 */ 6 6 7 #ifndef TCP_ MODULE_QUEUE_H8 #define TCP_ MODULE_QUEUE_H7 #ifndef TCP_QUEUE_H 8 #define TCP_QUEUE_H 9 9 10 10 /* Generic queue macros -- "next_field" should be set to the name of … … 132 132 (sp)->top = (*(ep))->next_field; \ 133 133 } while (0) 134 #endif /* TCP_ MODULE_QUEUE_H */134 #endif /* TCP_QUEUE_H */ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_send.c
r3751 r3763 5 5 */ 6 6 7 #include "tcp_ module_impl.h"7 #include "tcp_impl.h" 8 8 9 9 #define NUM_PREALLOC_SENDQ 10 … … 16 16 17 17 18 typedef struct MPID_nem_tcp_ module_send_q_element19 { 20 struct MPID_nem_tcp_ module_send_q_element *next;18 typedef struct MPID_nem_tcp_send_q_element 19 { 20 struct MPID_nem_tcp_send_q_element *next; 21 21 size_t len; /* number of bytes left to send */ 22 22 char *start; /* pointer to next byte to send */ 23 23 MPID_nem_cell_ptr_t cell; 24 24 /* char buf[MPID_NEM_MAX_PACKET_LEN];*/ /* data to be sent */ 25 } MPID_nem_tcp_ module_send_q_element_t;26 27 struct {MPID_nem_tcp_ module_send_q_element_t *top;} free_buffers = {0};25 } MPID_nem_tcp_send_q_element_t; 26 27 struct {MPID_nem_tcp_send_q_element_t *top;} free_buffers = {0}; 28 28 29 29 #define ALLOC_Q_ELEMENT(e) do { \ 30 30 if (S_EMPTY (free_buffers)) \ 31 31 { \ 32 MPIU_CHKPMEM_MALLOC (*(e), MPID_nem_tcp_ module_send_q_element_t *, sizeof(MPID_nem_tcp_module_send_q_element_t), \32 MPIU_CHKPMEM_MALLOC (*(e), MPID_nem_tcp_send_q_element_t *, sizeof(MPID_nem_tcp_send_q_element_t), \ 33 33 mpi_errno, "send queue element"); \ 34 34 } \ … … 46 46 47 47 #undef FUNCNAME 48 #define FUNCNAME MPID_nem_tcp_ module_send_init49 #undef FCNAME 50 #define FCNAME MPIDI_QUOTE(FUNCNAME) 51 int MPID_nem_tcp_ module_send_init()48 #define FUNCNAME MPID_nem_tcp_send_init 49 #undef FCNAME 50 #define FCNAME MPIDI_QUOTE(FUNCNAME) 51 int MPID_nem_tcp_send_init() 52 52 { 53 53 int mpi_errno = MPI_SUCCESS; … … 58 58 for (i = 0; i < NUM_PREALLOC_SENDQ; ++i) 59 59 { 60 MPID_nem_tcp_ module_send_q_element_t *e;61 62 MPIU_CHKPMEM_MALLOC (e, MPID_nem_tcp_ module_send_q_element_t *,63 sizeof(MPID_nem_tcp_ module_send_q_element_t), mpi_errno, "send queue element");60 MPID_nem_tcp_send_q_element_t *e; 61 62 MPIU_CHKPMEM_MALLOC (e, MPID_nem_tcp_send_q_element_t *, 63 sizeof(MPID_nem_tcp_send_q_element_t), mpi_errno, "send queue element"); 64 64 S_PUSH (&free_buffers, e); 65 65 } … … 73 73 74 74 #undef FUNCNAME 75 #define FUNCNAME MPID_nem_tcp_ module_send76 #undef FCNAME 77 #define FCNAME MPIDI_QUOTE(FUNCNAME) 78 int MPID_nem_tcp_ module_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)75 #define FUNCNAME MPID_nem_tcp_send 76 #undef FCNAME 77 #define FCNAME MPIDI_QUOTE(FUNCNAME) 78 int MPID_nem_tcp_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen) 79 79 { 80 80 int mpi_errno = MPI_SUCCESS; … … 85 85 86 86 #undef FUNCNAME 87 #define FUNCNAME MPID_nem_tcp_ module_send_queued88 #undef FCNAME 89 #define FCNAME MPIDI_QUOTE(FUNCNAME) 90 int MPID_nem_tcp_ module_send_queued (MPIDI_VC_t *vc)87 #define FUNCNAME MPID_nem_tcp_send_queued 88 #undef FCNAME 89 #define FCNAME MPIDI_QUOTE(FUNCNAME) 90 int MPID_nem_tcp_send_queued (MPIDI_VC_t *vc) 91 91 { 92 92 int mpi_errno = MPI_SUCCESS; … … 95 95 MPID_IOV *iov; 96 96 int complete; 97 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_SEND_QUEUED);98 99 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_SEND_QUEUED);97 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_SEND_QUEUED); 98 99 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_SEND_QUEUED); 100 100 101 101 MPIU_Assert(vc != NULL); … … 177 177 178 178 fn_exit: 179 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_SEND_QUEUED);179 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_SEND_QUEUED); 180 180 return mpi_errno; 181 181 fn_fail: … … 184 184 185 185 #undef FUNCNAME 186 #define FUNCNAME MPID_nem_tcp_ module_send_finalize187 #undef FCNAME 188 #define FCNAME MPIDI_QUOTE(FUNCNAME) 189 int MPID_nem_tcp_ module_send_finalize()186 #define FUNCNAME MPID_nem_tcp_send_finalize 187 #undef FCNAME 188 #define FCNAME MPIDI_QUOTE(FUNCNAME) 189 int MPID_nem_tcp_send_finalize() 190 190 { 191 191 int mpi_errno = MPI_SUCCESS; … … 193 193 while (!S_EMPTY (free_buffers)) 194 194 { 195 MPID_nem_tcp_ module_send_q_element_t *e;195 MPID_nem_tcp_send_q_element_t *e; 196 196 S_POP (&free_buffers, &e); 197 197 MPIU_Free (e); … … 200 200 } 201 201 202 /* MPID_nem_tcp_ module_conn_est -- this function is called when the202 /* MPID_nem_tcp_conn_est -- this function is called when the 203 203 connection is finally established to send any pending sends */ 204 204 #undef FUNCNAME 205 #define FUNCNAME MPID_nem_tcp_ module_conn_est206 #undef FCNAME 207 #define FCNAME MPIDI_QUOTE(FUNCNAME) 208 int MPID_nem_tcp_ module_conn_est (MPIDI_VC_t *vc)209 { 210 int mpi_errno = MPI_SUCCESS; 211 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_CONN_EST);212 213 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_CONN_EST);205 #define FUNCNAME MPID_nem_tcp_conn_est 206 #undef FCNAME 207 #define FCNAME MPIDI_QUOTE(FUNCNAME) 208 int MPID_nem_tcp_conn_est (MPIDI_VC_t *vc) 209 { 210 int mpi_errno = MPI_SUCCESS; 211 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_CONN_EST); 212 213 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_CONN_EST); 214 214 215 215 if (!SENDQ_EMPTY (VC_FIELD(vc, send_queue))) 216 216 { 217 217 SET_PLFD(vc); 218 mpi_errno = MPID_nem_tcp_ module_send_queued (vc);218 mpi_errno = MPID_nem_tcp_send_queued (vc); 219 219 if (mpi_errno) MPIU_ERR_POP (mpi_errno); 220 220 } 221 221 222 222 fn_fail: 223 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_CONN_EST);223 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_CONN_EST); 224 224 return mpi_errno; 225 225 } … … 245 245 MPIU_DBG_MSG(CH3_CHANNEL, VERBOSE, "tcp_iStartContigMsg"); 246 246 MPIDI_DBG_Print_packet((MPIDI_CH3_Pkt_t *)hdr); 247 if (MPID_nem_tcp_ module_vc_is_connected(vc))247 if (MPID_nem_tcp_vc_is_connected(vc)) 248 248 { 249 249 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue))) … … 277 277 else 278 278 { 279 mpi_errno = MPID_nem_tcp_ module_connect(vc);279 mpi_errno = MPID_nem_tcp_connect(vc); 280 280 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 281 281 } … … 317 317 MPIU_Assert(sreq->dev.iov_count >= 1 && sreq->dev.iov[0].MPID_IOV_LEN > 0); 318 318 319 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_ module_vc_is_connected(vc))319 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_vc_is_connected(vc)) 320 320 SET_PLFD(vc); 321 321 SENDQ_ENQUEUE(&VC_FIELD(vc, send_queue), sreq); … … 349 349 350 350 MPIDI_DBG_Print_packet((MPIDI_CH3_Pkt_t *)hdr); 351 if (MPID_nem_tcp_ module_vc_is_connected(vc))351 if (MPID_nem_tcp_vc_is_connected(vc)) 352 352 { 353 353 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue))) … … 405 405 else 406 406 { 407 mpi_errno = MPID_nem_tcp_ module_connect(vc);407 mpi_errno = MPID_nem_tcp_connect(vc); 408 408 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 409 409 } … … 440 440 sreq->dev.iov_offset = 0; 441 441 442 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_ module_vc_is_connected(vc))442 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_vc_is_connected(vc)) 443 443 SET_PLFD(vc); 444 444 SENDQ_ENQUEUE(&VC_FIELD(vc, send_queue), sreq); … … 479 479 offset = 0; 480 480 481 if (MPID_nem_tcp_ module_vc_is_connected(vc))481 if (MPID_nem_tcp_vc_is_connected(vc)) 482 482 { 483 483 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue))) … … 497 497 else 498 498 { 499 mpi_errno = MPID_nem_tcp_ module_connect(vc);499 mpi_errno = MPID_nem_tcp_connect(vc); 500 500 if (mpi_errno) MPIU_ERR_POP(mpi_errno); 501 501 } … … 557 557 sreq->dev.iov_offset = 0; 558 558 559 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_ module_vc_is_connected(vc))559 if (SENDQ_EMPTY(VC_FIELD(vc, send_queue)) && MPID_nem_tcp_vc_is_connected(vc)) 560 560 SET_PLFD(vc); 561 561 SENDQ_ENQUEUE(&VC_FIELD(vc, send_queue), sreq); mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/net_mod/tcp/tcp_utility.c
r3751 r3763 5 5 */ 6 6 7 #include "tcp_ module_impl.h"8 9 /* MPID_nem_tcp_ module_get_conninfo -- This function takes a VC7 #include "tcp_impl.h" 8 9 /* MPID_nem_tcp_get_conninfo -- This function takes a VC 10 10 pointer as input and outputs the sockaddr, pg_id, and pg_rank of 11 11 the remote process associated with this VC. [NOTE: I'm not sure … … 13 13 avoid a copy on this.] */ 14 14 #undef FUNCNAME 15 #define FUNCNAME MPID_nem_tcp_ module_get_conninfo16 #undef FCNAME 17 #define FCNAME MPIDI_QUOTE(FUNCNAME) 18 int MPID_nem_tcp_ module_get_conninfo (struct MPIDI_VC *vc, struct sockaddr_in *addr, char **pg_id, int *pg_rank)15 #define FUNCNAME MPID_nem_tcp_get_conninfo 16 #undef FCNAME 17 #define FCNAME MPIDI_QUOTE(FUNCNAME) 18 int MPID_nem_tcp_get_conninfo (struct MPIDI_VC *vc, struct sockaddr_in *addr, char **pg_id, int *pg_rank) 19 19 { 20 20 int mpi_errno = MPI_SUCCESS; … … 27 27 } 28 28 29 /* MPID_nem_tcp_ module_get_vc_from_conninfo -- This function takes29 /* MPID_nem_tcp_get_vc_from_conninfo -- This function takes 30 30 the pg_id and pg_rank and returns the corresponding VC. */ 31 31 #undef FUNCNAME 32 #define FUNCNAME MPID_nem_tcp_ module_get_vc_from_conninfo33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_tcp_ module_get_vc_from_conninfo (char *pg_id, int pg_rank, struct MPIDI_VC **vc)32 #define FUNCNAME MPID_nem_tcp_get_vc_from_conninfo 33 #undef FCNAME 34 #define FCNAME MPIDI_QUOTE(FUNCNAME) 35 int MPID_nem_tcp_get_vc_from_conninfo (char *pg_id, int pg_rank, struct MPIDI_VC **vc) 36 36 { 37 37 int mpi_errno = MPI_SUCCESS; 38 38 MPIDI_PG_t *pg; 39 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_VC_FROM_CONNINFO);40 41 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_VC_FROM_CONNINFO);39 MPIDI_STATE_DECL(MPID_STATE_MPID_NEM_TCP_GET_VC_FROM_CONNINFO); 40 41 MPIDI_FUNC_ENTER(MPID_STATE_MPID_NEM_TCP_GET_VC_FROM_CONNINFO); 42 42 43 43 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "pg_id=%s pg_rank=%d", pg_id, pg_rank)); … … 52 52 53 53 fn_exit: 54 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_ MODULE_GET_VC_FROM_CONNINFO);54 MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_GET_VC_FROM_CONNINFO); 55 55 return mpi_errno; 56 56 fn_fail: … … 62 62 #undef FCNAME 63 63 #define FCNAME MPIDI_QUOTE(FUNCNAME) 64 int MPID_nem_tcp_ module_set_sockopts (int fd)64 int MPID_nem_tcp_set_sockopts (int fd) 65 65 { 66 66 int mpi_errno = MPI_SUCCESS; … … 110 110 111 111 /* 112 MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF : connection failed113 MPID_NEM_TCP_ MODULE_SOCK_CONNECTED : socket connected (connection success)114 MPID_NEM_TCP_ MODULE_SOCK_NOEVENT : No event on socket112 MPID_NEM_TCP_SOCK_ERROR_EOF : connection failed 113 MPID_NEM_TCP_SOCK_CONNECTED : socket connected (connection success) 114 MPID_NEM_TCP_SOCK_NOEVENT : No event on socket 115 115 116 116 N1: some implementations do not set POLLERR when there is a pending error on socket. … … 128 128 before doing any read/write at least in the connection establishment state machine code. 129 129 130 N3: return code MPID_NEM_TCP_ MODULE_SOCK_NOEVENT is used only by the code that wants to130 N3: return code MPID_NEM_TCP_SOCK_NOEVENT is used only by the code that wants to 131 131 know whether the connect is still not complete after a non-blocking connect is issued. 132 132 … … 137 137 138 138 #undef FUNCNAME 139 #define FUNCNAME MPID_nem_tcp_ module_check_sock_status140 #undef FCNAME 141 #define FCNAME MPIDI_QUOTE(FUNCNAME) 142 MPID_NEM_TCP_ MODULE_SOCK_STATUS_t143 MPID_nem_tcp_ module_check_sock_status(const pollfd_t *const plfd)144 { 145 int rc = MPID_NEM_TCP_ MODULE_SOCK_NOEVENT;139 #define FUNCNAME MPID_nem_tcp_check_sock_status 140 #undef FCNAME 141 #define FCNAME MPIDI_QUOTE(FUNCNAME) 142 MPID_NEM_TCP_SOCK_STATUS_t 143 MPID_nem_tcp_check_sock_status(const pollfd_t *const plfd) 144 { 145 int rc = MPID_NEM_TCP_SOCK_NOEVENT; 146 146 147 147 if (plfd->revents & POLLERR) 148 148 { 149 rc = MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF;149 rc = MPID_NEM_TCP_SOCK_ERROR_EOF; 150 150 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "POLLERR on socket")); 151 151 goto fn_exit; … … 159 159 if (getsockopt(plfd->fd, SOL_SOCKET, SO_ERROR, &error, &n) < 0 || error != 0) 160 160 { 161 rc = MPID_NEM_TCP_ MODULE_SOCK_ERROR_EOF; /* (N1) */161 rc = MPID_NEM_TCP_SOCK_ERROR_EOF; /* (N1) */ 162 162 MPIU_DBG_MSG_FMT(NEM_SOCK_DET, VERBOSE, (MPIU_DBG_FDEST, "getsockopt failure. error=%d:%s", error, strerror(error))); 163 163 goto fn_exit; 164 164 } 165 rc = MPID_NEM_TCP_ MODULE_SOCK_CONNECTED;165 rc = MPID_NEM_TCP_SOCK_CONNECTED; 166 166 } 167 167 fn_exit: … … 172 172 */ 173 173 #undef FUNCNAME 174 #define FUNCNAME MPID_nem_tcp_ module_is_sock_connected175 #undef FCNAME 176 #define FCNAME MPIDI_QUOTE(FUNCNAME) 177 int MPID_nem_tcp_ module_is_sock_connected(int fd)174 #define FUNCNAME MPID_nem_tcp_is_sock_connected 175 #undef FCNAME 176 #define FCNAME MPIDI_QUOTE(FUNCNAME) 177 int MPID_nem_tcp_is_sock_connected(int fd) 178 178 { 179 179 int rc = FALSE; … … 205 205 #undef FCNAME 206 206 #define FCNAME MPIDI_QUOTE(FUNCNAME) 207 void MPID_nem_tcp_ module_vc_dbg_print_sendq(FILE *stream, MPIDI_VC_t *vc)207 void MPID_nem_tcp_vc_dbg_print_sendq(FILE *stream, MPIDI_VC_t *vc) 208 208 { 209 209 int i;