Il 11/04/2013 16:37, Michael S. Tsirkin ha scritto:
> 
> pg1 ->  pin -> req -> res -> rdma -> done
>         pg2 ->  pin -> req -> res -> rdma -> done
>                 pg3 -> pin -> req -> res -> rdma -> done
>                        pg4 -> pin -> req -> res -> rdma -> done
>                               pg4 -> pin -> req -> res -> rdma -> done
> 
> It's like a assembly line see?  So while software does the registration
> roundtrip dance, hardware is processing rdma requests for previous
> chunks.

Does this only affects the implementation, or also the wire protocol?
Does the destination have to be aware that the source is doing pipelining?

Paolo

> 
> ....
> 
> When do you have to stall? when you run out of rx buffer credits so you
> can not start a new req.  Your protocol has 2 outstanding buffers,
> so you can only have one req in the air. Do more and
> you will not need to stall - possibly at all.
> 
> One other minor point is that your protocol requires extra explicit
> ready commands. You can pass the number of rx buffers as extra payload
> in the traffic you are sending anyway, and reduce that overhead.


Reply via email to