Commit 1cce5286 authored by Darius Buntinas's avatar Darius Buntinas
Browse files

[svn-r4515] disabling poll-avoidance optimization in tcp and wintcp when...

[svn-r4515] disabling poll-avoidance optimization in tcp and wintcp when called from a non-blocking mpi call.  Fixes timeouts in intel test suite.
parent 0832ad8e
......@@ -22,7 +22,7 @@ static inline void MPID_nem_mpich2_dequeue_fastbox (int local_rank);
static inline void MPID_nem_mpich2_enqueue_fastbox (int local_rank);
static inline int MPID_nem_mpich2_sendv_header (MPID_IOV **iov, int *n_iov, MPIDI_VC_t *vc, int *again);
static inline int MPID_nem_recv_seqno_matches (MPID_nem_queue_ptr_t qhead);
static inline int MPID_nem_mpich2_test_recv (MPID_nem_cell_ptr_t *cell, int *in_fbox);
static inline int MPID_nem_mpich2_test_recv (MPID_nem_cell_ptr_t *cell, int *in_fbox, int in_blocking_progress);
static inline int MPID_nem_mpich2_blocking_recv (MPID_nem_cell_ptr_t *cell, int *in_fbox);
static inline int MPID_nem_mpich2_test_recv_wait (MPID_nem_cell_ptr_t *cell, int *in_fbox, int timeout);
static inline int MPID_nem_mpich2_release_cell (MPID_nem_cell_ptr_t cell, MPIDI_VC_t *vc);
......@@ -876,7 +876,7 @@ MPID_nem_recv_seqno_matches (MPID_nem_queue_ptr_t qhead)
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
static inline int
MPID_nem_mpich2_test_recv (MPID_nem_cell_ptr_t *cell, int *in_fbox)
MPID_nem_mpich2_test_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox, int in_blocking_progress)
{
int mpi_errno = MPI_SUCCESS;
......@@ -901,7 +901,7 @@ MPID_nem_mpich2_test_recv (MPID_nem_cell_ptr_t *cell, int *in_fbox)
if (MPID_nem_num_netmods)
{
mpi_errno = MPID_nem_network_poll();
mpi_errno = MPID_nem_network_poll(in_blocking_progress);
if (mpi_errno) MPIU_ERR_POP (mpi_errno);
}
......@@ -968,7 +968,7 @@ MPID_nem_mpich2_test_recv_wait (MPID_nem_cell_ptr_t *cell, int *in_fbox, int tim
if (MPID_nem_num_netmods)
{
mpi_errno = MPID_nem_network_poll();
mpi_errno = MPID_nem_network_poll(TRUE /* blocking */);
if (mpi_errno) MPIU_ERR_POP (mpi_errno);
}
......@@ -1055,7 +1055,7 @@ MPID_nem_mpich2_blocking_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox)
if (MPID_nem_num_netmods)
{
mpi_errno = MPID_nem_network_poll();
mpi_errno = MPID_nem_network_poll(TRUE /* blocking */);
if (mpi_errno) MPIU_ERR_POP (mpi_errno);
}
......@@ -1070,7 +1070,7 @@ MPID_nem_mpich2_blocking_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox)
if (MPID_nem_num_netmods)
{
mpi_errno = MPID_nem_network_poll();
mpi_errno = MPID_nem_network_poll(TRUE /* blocking */);
if (mpi_errno) MPIU_ERR_POP (mpi_errno);
if (completions != MPIDI_CH3I_progress_completion_count || MPID_nem_local_lmt_pending || MPIDI_CH3I_active_send[CH3_NORMAL_QUEUE]
......
......@@ -16,7 +16,7 @@ typedef int (* MPID_nem_net_module_init_t) (MPID_nem_queue_ptr_t proc_recv_queue
char **bc_val_p, int *val_max_sz_p);
typedef int (* MPID_nem_net_module_finalize_t) (void);
typedef int (* MPID_nem_net_module_ckpt_shutdown_t) (void);
typedef int (* MPID_nem_net_module_poll_t) (void);
typedef int (* MPID_nem_net_module_poll_t) (int in_blocking_poll);
typedef int (* MPID_nem_net_module_send_t) (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
typedef int (* MPID_nem_net_module_get_business_card_t) (int my_rank, char **bc_val_p, int *val_max_sz_p);
typedef int (* MPID_nem_net_module_connect_to_root_t) (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -103,7 +103,7 @@ int MPID_nem_mpich2_sendv_header(MPID_IOV **iov, int *n_iov, struct MPIDI_VC *vc
void MPID_nem_mpich2_send_seg(MPID_Segment segment, MPIDI_msg_sz_t *segment_first, MPIDI_msg_sz_t segment_sz, struct MPIDI_VC *vc, int *again);
void MPID_nem_mpich2_send_seg_header(MPID_Segment segment, MPIDI_msg_sz_t *segment_first, MPIDI_msg_sz_t segment_size,
void *header, MPIDI_msg_sz_t header_sz, struct MPIDI_VC *vc, int *again);
int MPID_nem_mpich2_test_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox);
int MPID_nem_mpich2_test_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox, int in_blocking_progress);
int MPID_nem_mpich2_test_recv_wait(MPID_nem_cell_ptr_t *cell, int *in_fbox, int timeout);
int MPID_nem_recv_seqno_matches(MPID_nem_queue_ptr_t qhead) ;
int MPID_nem_mpich2_blocking_recv(MPID_nem_cell_ptr_t *cell, int *in_fbox);
......
......@@ -10,7 +10,7 @@
#include "mpid_nem_defs.h"
#include "mpid_nem_atomics.h"
int MPID_nem_network_poll(void);
int MPID_nem_network_poll(int in_blocking_progress);
#define MPID_nem_dump_cell_mpich2(cell, index) MPID_nem_dump_cell_mpich2__((cell),(index),__FILE__,__LINE__)
......
......@@ -21,7 +21,7 @@ MPID_nem_elan_finalize()
{
while ( !MPID_nem_elan_event_queue_empty(MPID_nem_module_elan_pending_event_queue))
{
MPID_nem_elan_poll(MPID_NEM_POLL_OUT);
MPID_nem_elan_poll(FALSE);
}
#ifdef LIBELAN_HAVE_FINI
......
......@@ -16,7 +16,7 @@ int MPID_nem_elan_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr
MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_elan_finalize (void);
int MPID_nem_elan_ckpt_shutdown (void);
int MPID_nem_elan_poll(void);
int MPID_nem_elan_poll(int in_blocking_progress);
int MPID_nem_elan_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_elan_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_elan_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -123,7 +123,7 @@ MPID_nem_elan_recv( void )
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_elan_poll()
MPID_nem_elan_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
......
......@@ -38,7 +38,7 @@ int MPID_nem_gm_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t
MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_gm_finalize (void);
int MPID_nem_gm_ckpt_shutdown (void);
int MPID_nem_gm_poll(void);
int MPID_nem_gm_poll(int in_blocking_progress);
int MPID_nem_gm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_gm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_gm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -243,7 +243,7 @@ MPID_nem_gm_recv_poll( void )
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_gm_poll()
MPID_nem_gm_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
......
......@@ -78,7 +78,7 @@ int MPID_nem_ib_init (MPID_nem_queue_ptr_t proc_recv_queue,
char **bc_val_p,
int *val_max_sz_p);
int MPID_nem_ib_finalize (void);
int MPID_nem_ib_poll();
int MPID_nem_ib_poll(int in_blocking_progress);
int MPID_nem_ib_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_ib_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_ib_ckpt_shutdown (void);
......
......@@ -165,7 +165,7 @@ uint32_t MPID_nem_ib_refill_srq(
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int MPID_nem_ib_poll()
int MPID_nem_ib_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
int ret;
......
......@@ -18,7 +18,7 @@ MPID_nem_mx_finalize()
int ret ;
while(MPID_nem_mx_pending_send_req > 0)
MPID_nem_mx_poll(MPID_NEM_POLL_OUT);
MPID_nem_mx_poll(FALSE);
ret = mx_close_endpoint(MPID_nem_mx_local_endpoint);
MPIU_ERR_CHKANDJUMP1 (ret != MX_SUCCESS, mpi_errno, MPI_ERR_OTHER, "**mx_close_endpoint", "**mx_close_endpoint %s", mx_strerror (ret));
......
......@@ -21,7 +21,7 @@ int MPID_nem_mx_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_t
MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_mx_finalize (void);
int MPID_nem_mx_ckpt_shutdown (void);
int MPID_nem_mx_poll(void);
int MPID_nem_mx_poll(int in_blocking_progress);
int MPID_nem_mx_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_mx_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_mx_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -310,7 +310,7 @@ int MPID_nem_mx_directRecv(MPIDI_VC_t *vc, MPID_Request *rreq)
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_mx_poll(void)
MPID_nem_mx_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
mx_status_t status;
......@@ -398,7 +398,7 @@ MPID_nem_mx_poll(void)
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_mx_poll(void)
MPID_nem_mx_poll(int in_blocking_progress)
{
int mpi_errno = MPI_SUCCESS;
mx_status_t status;
......
......@@ -21,7 +21,7 @@ int MPID_nem_newmad_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_p
MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_newmad_finalize (void);
int MPID_nem_newmad_ckpt_shutdown (void);
int MPID_nem_newmad_poll(void);
int MPID_nem_newmad_poll(int in_blocking_progress);
int MPID_nem_newmad_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_newmad_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_newmad_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -225,7 +225,7 @@ void MPID_nem_newmad_get_rreq(nm_sr_event_t event, const nm_sr_event_info_t*info
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_newmad_poll()
MPID_nem_newmad_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
......
......@@ -51,7 +51,7 @@ static int nm_send(MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen)
return MPI_SUCCESS;
}
static int nm_poll()
static int nm_poll(int)
{
return MPI_SUCCESS;
}
......
......@@ -22,7 +22,7 @@ MPID_nem_psm_finalize()
while(MPID_nem_module_psm_pendings_sends > 0)
{
MPID_nem_psm_poll(MPID_NEM_POLL_OUT);
MPID_nem_psm_poll(FALSE);
}
ret = psm_mq_finalize(MPID_nem_module_psm_mq);
MPIU_ERR_CHKANDJUMP1 (ret != PSM_OK, mpi_errno, MPI_ERR_OTHER, "**psm_mq_finalize", "**psm_mq_finalize %s", psm_error_get_string (ret));
......
......@@ -26,7 +26,7 @@ int MPID_nem_psm_init (MPID_nem_queue_ptr_t proc_recv_queue, MPID_nem_queue_ptr_
MPIDI_PG_t *pg_p, int pg_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_psm_finalize (void);
int MPID_nem_psm_ckpt_shutdown (void);
int MPID_nem_psm_poll(void);
int MPID_nem_psm_poll(int in_blocking_progress);
int MPID_nem_psm_send (MPIDI_VC_t *vc, MPID_nem_cell_ptr_t cell, int datalen);
int MPID_nem_psm_get_business_card (int my_rank, char **bc_val_p, int *val_max_sz_p);
int MPID_nem_psm_connect_to_root (const char *business_card, MPIDI_VC_t *new_vc);
......
......@@ -183,7 +183,7 @@ MPID_nem_psm_recv()
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
int
MPID_nem_psm_poll()
MPID_nem_psm_poll(int in_blocking_poll)
{
int mpi_errno = MPI_SUCCESS;
int ret;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment