1
1
openmpi/ompi/mca
Brian Barrett 95c0a17b9a Send the unlock request before starting the requests. We won't unlock until we get an ack from the remote side,
so there's no longer a race there (I used to do the unlock request last, after local completion of all the
requests completed, to try to avoid having the passive side reply to the active side, but I don't do that
anymore).  The unlock side will not "unlock" the window until it actually receives the correct number of results,
so we're good there.

This fixes an issue where we would receive data on the remote side we weren't expecting that could cause
us to release a lock before it really should have been released to the requesting peer.  It could also
cause a deadlock if one of the processes trying to unlock was "self", as that would result in the active
unlock never sending the unlock request, even though it sent the payload, which could cause a counter
that should always be positive to hit -1, causing an infinite loop that could only be solved by
popping up the stack, which was an impossibility.

Refs trac:785

This commit was SVN r13160.

The following Trac tickets were found above:
  Ticket 785 --> https://svn.open-mpi.org/trac/ompi/ticket/785
2007-01-17 21:13:12 +00:00
..
allocator Remove unneeded PARAM_INIT_FILE variable in configure.params files used by 2007-01-08 03:44:22 +00:00
bml Remove unneeded PARAM_INIT_FILE variable in configure.params files used by 2007-01-08 03:44:22 +00:00
btl Fix a compiler warning. 2007-01-16 23:03:17 +00:00
coll Cleanup of Barrier implementation: 2007-01-10 22:49:43 +00:00
common Remove unneeded PARAM_INIT_FILE variable in configure.params files used by 2007-01-08 03:44:22 +00:00
io Remove unneeded PARAM_INIT_FILE variable in configure.params files used by 2007-01-08 03:44:22 +00:00
mpool add udapl rdma capabilities into the udapl btl 2007-01-11 15:22:08 +00:00
mtl Just cast the pointer to a uintptr_t then to the match bits, instead of abusing the ompi_ptr_t interface. Not critical for v1.2, as there are no portals platforms that are big endian, so the code in v1.2 will work well enough for now 2007-01-07 03:11:27 +00:00
osc Send the unlock request before starting the requests. We won't unlock until we get an ack from the remote side, 2007-01-17 21:13:12 +00:00
pml Fix compiler warning. 2007-01-17 14:23:46 +00:00
rcache All files have to include ompi_config.h before anything else. 2007-01-08 22:03:16 +00:00
topo Remove unneeded PARAM_INIT_FILE variable in configure.params files used by 2007-01-08 03:44:22 +00:00