cc091f4979
btl_openib_connect_udcm when notifying not to listen to an fd to ensure that the main thread does not continue until the service thread has processed the message Adds ability to send message to openib async thread to tell it to ignore the ERR state on a specific QP. Adds this call to udcm_module_finalize so when we set the error state on the QP it doesn't cause the openib async thread to abort the mpi program prematurely Fixes trac:3161 This commit was SVN r27064. The following Trac tickets were found above: Ticket 3161 --> https://svn.open-mpi.org/trac/ompi/ticket/3161
42 строки
1023 B
C
42 строки
1023 B
C
/*
|
|
* Copyright (c) 2007-2008 Mellanox Technologies. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*
|
|
* @file
|
|
*/
|
|
|
|
#ifndef MCA_BTL_OPENIB_ASYNC_H
|
|
#define MCA_BTL_OPENIB_ASYNC_H
|
|
#include "btl_openib_endpoint.h"
|
|
|
|
void* btl_openib_async_thread(void *one_hca);
|
|
void mca_btl_openib_load_apm(struct ibv_qp *qp, mca_btl_openib_endpoint_t *ep);
|
|
int btl_openib_async_command_done(int exp);
|
|
#if HAVE_XRC
|
|
void mca_btl_openib_load_apm_xrc_rcv(uint32_t qp_num, mca_btl_openib_endpoint_t *ep);
|
|
#endif
|
|
|
|
#define APM_ENABLED (0 != mca_btl_openib_component.apm_lmc || 0 != mca_btl_openib_component.apm_ports)
|
|
|
|
/*
|
|
* Command types for communicating with the async thread
|
|
*/
|
|
typedef enum {
|
|
OPENIB_ASYNC_CMD_FD_ADD,
|
|
OPENIB_ASYNC_CMD_FD_REMOVE,
|
|
OPENIB_ASYNC_IGNORE_QP_ERR,
|
|
OPENIB_ASYNC_THREAD_EXIT
|
|
} btl_openib_async_cmd_type_t;
|
|
|
|
typedef struct {
|
|
btl_openib_async_cmd_type_t a_cmd;
|
|
int fd;
|
|
struct ibv_qp *qp;
|
|
} mca_btl_openib_async_cmd_t;
|
|
|
|
#endif
|