On Mon, May 19, 2008 at 07:39:13PM +0300, Pavel Shamis (Pasha) wrote: >>>> So this solution will cost 1 buffer on each srq ... sounds >>>> acceptable for me. But I don't see too much >>>> difference compared to #1, as I understand we anyway will be need >>>> the pipe for communication with main thread. >>>> so why don't use #1 ? >>>> >>> What communication? No communication at all. Just don't prepost buffers >>> to SRQ during connection establishment. Problem solved (only for SRQ of >>> cause). > As i know Jeff use the pipe for some status update (Jeff, please correct > me if I wrong). > If we still need pipe for communication , I prefer #1. > If we don't have the pipe , I prefer your solution > The pipe will still be there. The pipe itself is not the problem. The problem is that currently initial post_receives are done in the CPC thread. post_receives involves access to some data structures that are used in the main thread too (free lists, mpool, SRQ) so it has to be either protected or eliminated. I think that eliminating it is a better solution for now. For SRQ case it is also easy to do. PPRQ is more complicated but IMHO possible.
-- Gleb.