]> git.baikalelectronics.ru Git - kernel.git/commit
svcrdma: Find client-provided write and reply chunks once per reply
authorChuck Lever <chuck.lever@oracle.com>
Tue, 1 Mar 2016 18:05:36 +0000 (13:05 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 1 Mar 2016 21:06:32 +0000 (13:06 -0800)
commit585ba4026d5ee6953752a87a6b8ae6c418c16f4e
tree753202037514310e96260ac600a14caf7f0bcd13
parent515a44ca41e18d09daf0254a3b0cf85dbfb36371
svcrdma: Find client-provided write and reply chunks once per reply

The client provides the location of Write chunks into which the
server writes bulk payload. The client provides these when the
Upper Layer Protocol wants direct data placement and the Binding
allows it. (For NFS, this is READ and READLINK operations).

The client also provides the location of a Reply chunk into which
the server writes the non-bulk part of an RPC reply. The client
provides this chunk whenever it believes the reply can be larger
than its receive buffers.

The server then uses the presence of these chunks to determine how
it will form its reply message.

svc_rdma_sendto() was looking for Write and Reply chunks multiple
times for every reply message. It would be more efficient to do it
just once.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/xprtrdma/svc_rdma_sendto.c