I see the problem this patch try to solve, but I fail to correctly understand the implementation. The patch affect all PML and BTL in the code base by adding one more argument to some of the most often called functions. And there is only one BTL (openib) who seems to use it while all others completely ignore it. Moreover, there seems to be already a very similar mechanism based on the MCA_BTL_DES_FLAGS_PRIORITY flag, which can be set by the PML level into the btl_descriptor.

So what's the difference between the additional argument and a correct usage of the MCA_BTL_DES_FLAGS_PRIORITY flag ?

  george.

On May 24, 2007, at 3:51 PM, gship...@osl.iu.edu wrote:

Author: gshipman
Date: 2007-05-24 15:51:26 EDT (Thu, 24 May 2007)
New Revision: 14768
URL: https://svn.open-mpi.org/trac/ompi/changeset/14768

Log:
Add optional ordering to the BTL interface.
This is required to tighten up the BTL semantics. Ordering is not guaranteed,
but, if the BTL returns a order tag in a descriptor (other than
MCA_BTL_NO_ORDER) then we may request another descriptor that will obey
ordering w.r.t. to the other descriptor.


This will allow sane behavior for RDMA networks, where local completion of an RDMA operation on the active side does not imply remote completion on the passive side. If we send a FIN message after local completion and the FIN is not ordered w.r.t. the RDMA operation then badness may occur as the passive side may now try to deregister the memory and the RDMA operation may still be
pending on the passive side.

Note that this has no impact on networks that don't suffer from this
limitation as the ORDER tag can simply always be specified as
MCA_BTL_NO_ORDER.





Text files modified:
trunk/ompi/mca/bml/bml.h | 29 ++++ +++++++++++-------- trunk/ompi/mca/btl/btl.h | 10 ++++ ++++
   trunk/ompi/mca/btl/gm/btl_gm.c                       |     8 ++++++
   trunk/ompi/mca/btl/gm/btl_gm.h                       |     3 ++
   trunk/ompi/mca/btl/mx/btl_mx.c                       |     8 ++++++
   trunk/ompi/mca/btl/mx/btl_mx.h                       |     3 ++
trunk/ompi/mca/btl/openib/btl_openib.c | 49 ++++ ++++++++++++++++++++++++++++++++++-
   trunk/ompi/mca/btl/openib/btl_openib.h               |     3 ++
   trunk/ompi/mca/btl/openib/btl_openib_endpoint.c      |     7 +++--
   trunk/ompi/mca/btl/openib/btl_openib_frag.c          |     7 +++++
   trunk/ompi/mca/btl/portals/btl_portals.c             |     8 ++++-
   trunk/ompi/mca/btl/portals/btl_portals.h             |     3 ++
   trunk/ompi/mca/btl/self/btl_self.c                   |     3 ++
   trunk/ompi/mca/btl/self/btl_self.h                   |     3 ++
   trunk/ompi/mca/btl/sm/btl_sm.c                       |     2 +
   trunk/ompi/mca/btl/sm/btl_sm.h                       |     2 +
   trunk/ompi/mca/btl/tcp/btl_tcp.c                     |     6 ++++
   trunk/ompi/mca/btl/tcp/btl_tcp.h                     |     3 ++
   trunk/ompi/mca/btl/template/btl_template.c           |     8 ++++-
   trunk/ompi/mca/btl/template/btl_template.h           |     3 ++
trunk/ompi/mca/btl/template/btl_template_component.c | 10 +++ +--- trunk/ompi/mca/btl/udapl/btl_udapl.c | 11 ++++ ++--
   trunk/ompi/mca/btl/udapl/btl_udapl.h                 |     3 ++
trunk/ompi/mca/btl/udapl/btl_udapl_component.c | 17 ++++ ++++----
   trunk/ompi/mca/osc/rdma/osc_rdma_data_move.c         |     3 ++
   trunk/ompi/mca/pml/dr/pml_dr.h                       |     6 ++--
trunk/ompi/mca/pml/dr/pml_dr_sendreq.c | 12 ++++ ++++-
   trunk/ompi/mca/pml/dr/pml_dr_sendreq.h               |     3 +
trunk/ompi/mca/pml/ob1/pml_ob1.c | 17 ++++ ++++----- trunk/ompi/mca/pml/ob1/pml_ob1.h | 44 ++++ +------------------------------ trunk/ompi/mca/pml/ob1/pml_ob1_recvreq.c | 14 ++++ +++---- trunk/ompi/mca/pml/ob1/pml_ob1_sendreq.c | 28 ++++ ++++++++++++------
   32 files changed, 241 insertions(+), 95 deletions(-)


Diff not shown due to size (53504 bytes).
To see the diff, run the following command:

        svn diff -r 14767:14768 --no-diff-deleted

_______________________________________________
svn mailing list
s...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/svn

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to