]> 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)
commited172a2f13209b6e615cbf235f6b165d867b9e73
tree753202037514310e96260ac600a14caf7f0bcd13
parent2ead113c6603366f4cd6b6e480dcd2a1f1d78b90
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