Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Fwd: [OMPI svn-full] svn:open-mpi r21552
From: Eugene Loh (Eugene.Loh_at_[hidden])
Date: 2009-06-27 19:52:43


Jeff Squyres wrote:
Just to make sure that George / Eugene sees this commit message...

There was a conflict committed in r21551.  Can someone check these compiler warning messages?

Begin forwarded message:
Date: June 26, 2009 9:39:15 PM EDT
Subject: [OMPI svn-full] svn:open-mpi r21552
Reply-To: <devel@open-mpi.org>

Author: rhc
Date: 2009-06-26 21:39:15 EDT (Fri, 26 Jun 2009)
New Revision: 21552
URL: https://svn.open-mpi.org/trac/ompi/changeset/21552

Log:
Remove svn conflict lines due to commit r21551 in the sm btl. I #if 0'd out the offending line that cause the conflict just in case it was the correct one. However, this now compiles cleanly, minus the following warnings that I wasn't sure which way to resolve:

btl_sm.c: In function ‘mca_btl_sm_sendi’:
btl_sm.c:734: warning: comparison between signed and unsigned
btl_sm.c: In function ‘mca_btl_sm_send’:
btl_sm.c:812: warning: comparison between signed and unsigned


Text files modified:
   trunk/ompi/mca/btl/sm/btl_sm_component.c |     5 ++---                                  
   1 files changed, 2 insertions(+), 3 deletions(-)

Modified: trunk/ompi/mca/btl/sm/btl_sm_component.c
==============================================================================
--- trunk/ompi/mca/btl/sm/btl_sm_component.c    (original)
+++ trunk/ompi/mca/btl/sm/btl_sm_component.c    2009-06-26 21:39:15 EDT (Fri, 26 Jun 2009)
@@ -428,11 +428,10 @@
                 /* return the fragment */
                 MCA_BTL_SM_FIFO_WRITE(
                         mca_btl_sm_component.sm_peers[peer_smp_rank],
-<<<<<<< .mine
                         my_smp_rank, peer_smp_rank, hdr->frag, false, true, rc);
-=======
+#if 0
                         my_smp_rank, peer_smp_rank, hdr->frag, false, rc);
->>>>>>> .r21550
+#endif
                 break;
             }
             case MCA_BTL_SM_FRAG_ACK:

Weird.  Okay.  I think it's fixed now with r21556.  For the record, I will provide more explanation here than anyone probably cares for.

The stuff around line 431 of btl_sm_component.c is where the offending "goto recheck_peer" had been inserted and that George just pulled out.  Namely, the goto caused sm progress to keep draining the FIFO until there was nothing left, while we agreed it should only poll until a message fragment was received.  So, the "break" above is the correct behavior.  George put it back and then I put my stuff back.  There was a conflict on that one file.  I thought I overwrote his stuff (since we both removed the offending goto statement).  I'm not sure what happened, but it looks like some bad line crept in.  I must have done something wrong with svn in managing that file conflict.  Sorry.

For what it's worth, the extra argument you see above for MCA_BTL_SM_FIFO_WRITE is something I introduced.  This macro now first (before attempting the requested write) sees if there are any pending sends to retry.  Incidentally, how are pending sends retried?  Well, by calling MCA_BTL_SM_FIFO_WRITE!  Circular, yes?  Yes.  So, the extra argument tells MCA_BTL_SM_FIFO_WRITE whether to retry pending sends or not.

Regarding the warnings in btl_sm.c, they're from btl_sm_sendi and btl_sm_send.  In each case, when we try to send, we perform a check to see if there are "lots" of outstanding fragments (sent, but not yet returned).  If there are a "lot", we poll the FIFO to see if we can reclaim any fragments.  The yardstick we use for "a lot" is based on the FIFO size.  So, comparing an int to a size_t.  I introduced a coercion into the code to make the warning go away.

Sorry about the sloppiness on all accounts.