2005-05-24 02:06:50 +04:00
|
|
|
/*
|
2005-11-05 22:57:48 +03:00
|
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
|
|
* University Research and Technology
|
|
|
|
* Corporation. All rights reserved.
|
2012-07-24 04:22:22 +04:00
|
|
|
* Copyright (c) 2004-2012 The University of Tennessee and The University
|
2005-11-05 22:57:48 +03:00
|
|
|
* of Tennessee Research Foundation. All rights
|
|
|
|
* reserved.
|
2008-03-09 16:17:13 +03:00
|
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
2005-05-24 02:06:50 +04:00
|
|
|
* University of Stuttgart. All rights reserved.
|
|
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
* All rights reserved.
|
2007-10-22 16:07:22 +04:00
|
|
|
* Copyright (c) 2006-2007 Voltaire. All rights reserved.
|
2005-05-24 02:06:50 +04:00
|
|
|
* $COPYRIGHT$
|
2008-03-09 16:17:13 +03:00
|
|
|
*
|
2005-05-24 02:06:50 +04:00
|
|
|
* Additional copyrights may follow
|
2008-03-09 16:17:13 +03:00
|
|
|
*
|
2005-05-24 02:06:50 +04:00
|
|
|
* $HEADER$
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
*/
|
2005-06-30 09:50:55 +04:00
|
|
|
#ifndef MCA_BTL_SM_ENDPOINT_H
|
|
|
|
#define MCA_BTL_SM_ENDPOINT_H
|
2005-05-24 02:06:50 +04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* An abstraction that represents a connection to a endpoint process.
|
2008-03-09 16:17:13 +03:00
|
|
|
* An instance of mca_ptl_base_endpoint_t is associated w/ each process
|
2005-06-30 09:50:55 +04:00
|
|
|
* and BTL pair at startup.
|
2005-05-24 02:06:50 +04:00
|
|
|
*/
|
|
|
|
|
2005-06-30 09:50:55 +04:00
|
|
|
struct mca_btl_base_endpoint_t {
|
2005-05-24 02:06:50 +04:00
|
|
|
int my_smp_rank; /**< My SMP process rank. Used for accessing
|
|
|
|
* SMP specfic data structures. */
|
|
|
|
int peer_smp_rank; /**< My peer's SMP process rank. Used for accessing
|
|
|
|
* SMP specfic data structures. */
|
2014-06-26 00:43:28 +04:00
|
|
|
#if OMPI_ENABLE_PROGRESS_THREADS == 1
|
2005-05-24 02:06:50 +04:00
|
|
|
int fifo_fd; /**< pipe/fifo used to signal endpoint that data is queued */
|
2014-06-26 00:43:28 +04:00
|
|
|
#endif
|
2007-10-22 16:07:22 +04:00
|
|
|
opal_list_t pending_sends; /**< pending data to send */
|
2012-02-08 05:32:36 +04:00
|
|
|
|
|
|
|
/** lock for concurrent access to endpoint state */
|
2012-07-24 04:22:22 +04:00
|
|
|
opal_mutex_t endpoint_lock;
|
2012-02-08 05:32:36 +04:00
|
|
|
|
2005-05-24 02:06:50 +04:00
|
|
|
};
|
|
|
|
|
2009-06-27 04:12:56 +04:00
|
|
|
void btl_sm_process_pending_sends(struct mca_btl_base_endpoint_t *ep);
|
2005-05-24 02:06:50 +04:00
|
|
|
#endif
|