Jeff Squyres wrote:
Just to make sure that George / Eugene sees this commit message...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. |
- [OMPI devel] Fwd: [OMPI svn-full] svn:open-mpi r21552 Jeff Squyres
- Re: [OMPI devel] Fwd: [OMPI svn-full] svn:open-mpi r2155... Eugene Loh