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
smime.p7s
Description: S/MIME cryptographic signature