OpenMPI  0.1.1
btl_portals_send.h
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2005 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * $COPYRIGHT$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 
19 #ifndef OMPI_BTL_PORTALS_SEND_H
20 #define OMPI_BTL_PORTALS_SEND_H
21 
22 #include "btl_portals_frag.h"
23 
24 
25 #define MCA_BTL_PORTALS_PROGRESS_QUEUED_SENDS() \
26  if ((0 != opal_list_get_size(&(mca_btl_portals_module.portals_queued_sends))) && \
27  (mca_btl_portals_module.portals_outstanding_ops < \
28  mca_btl_portals_module.portals_max_outstanding_ops)) { \
29  mca_btl_portals_frag_t *qfrag = (mca_btl_portals_frag_t*) \
30  opal_list_remove_first(&(mca_btl_portals_module.portals_queued_sends)); \
31  OPAL_OUTPUT_VERBOSE((90, mca_btl_portals_component.portals_output, \
32  "retransmit for frag 0x%lx, 0x%lx", \
33  (unsigned long) qfrag, \
34  (unsigned long) qfrag->base.des_cbfunc)); \
35  return mca_btl_portals_send(&mca_btl_portals_module.super, \
36  qfrag->endpoint, \
37  &(qfrag->base), \
38  qfrag->hdr.tag); \
39  } \
40  return OMPI_SUCCESS;
41 
42 
43 #endif /* OMPI_BTL_PORTALS_SEND_H */