On Mar 9, 2012, at 08:38 , Alex Margolin wrote: > Hi, > > I'm implementing a new BTL component, and > > 1. I read the TCP code and ran into the three fragment lists: > > /* free list of fragment descriptors */ > ompi_free_list_t tcp_frag_eager; > ompi_free_list_t tcp_frag_max; > ompi_free_list_t tcp_frag_user; > > I've looked it up, and found that the documentation for OpenIB refers to the > eager term as (in short) the first chuck of a long message, after which the > buffer is registered and in the meanwhile chucks from the end of the buffer > (beyond a limit much higher then eager-limit) are sent. I didn't find any > references relevant to plain TCP. I'm not sure I understand how this is > applicable with TCP (and I've seen it in other components as well). For a > long message - why would I treat chucks separately?
An eager fragment can be received by the peer eagerly (this means without the corresponding receive posted). This is not the case for larger fragments. > In the TCP BTL code, when the fragment is created - shorter chucks are sent > to eager while the rest are sent to max. Where the two lists treated > differently? > > Thanks, > Alex > > P.S. what does the role of mca_btl_*_component_control()? Amazing, that's an archeological piece of Open MPI history. Fixed in r26121. george. > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel