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
> 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.