On Wed, Jul 10, 2019 at 09:25:05AM -0700, Sagi Grimberg wrote: > > > > Another question, from what I understand from the code, the client > > > always rdma_writes data on writes (with imm) from a remote pool of > > > server buffers dedicated to it. Essentially all writes are immediate (no > > > rdma reads ever). How is that different than using send wrs to a set of > > > pre-posted recv buffers (like all others are doing)? Is it faster? > > > > RDMA WRITE only is generally a bit faster, and if you use a buffer > > pool in a smart way it is possible to get very good data packing. > > There is no packing, its used exactly as send/recv, but with a remote > buffer pool (pool of 512K buffers) and the client selects one and rdma > write with imm to it. Well that makes little sense then:) > > Maybe this is fine, but it needs to be made very clear that it uses > > this insecure operating model to get higher performance.. > > I still do not understand why this should give any notice-able > performance advantage. Usually omitting invalidations gives a healthy bump. Also, RDMA WRITE is generally faster than READ at the HW level in various ways. Jason