rdma: SVCRDMA sendto
authorTom Tucker <tom@opengridcomputing.com>
Wed, 12 Dec 2007 22:13:25 +0000 (16:13 -0600)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 1 Feb 2008 21:42:14 +0000 (16:42 -0500)
commitc06b540a54ad01d2fda8cfb5d8823b9b3d8d1cb2
treee983370ad07af62682d59084d5ae8fe1ba9d3684
parentd5b31be6823320d81570e0199acd60d3a3f75d85
rdma: SVCRDMA sendto

This file implements the RDMA transport sendto function. A RPC reply
on an RDMA transport consists of some number of RDMA_WRITE requests
followed by an RDMA_SEND request. The sendto function parses the
ONCRPC RDMA reply header to determine how to send the reply back to
the client. The send queue is sized so as to be able to send complete
replies for requests in most cases.  In the event that there are not
enough SQ WR slots to reply, e.g.  big data, the send will block the
NFSD thread. The I/O callback functions in svc_rdma_transport.c that
reap WR completions wake any waiters blocked on the SQ. In general,
the goal is not to block NFSD threads and the has_wspace method
stall requests when the SQ is nearly full.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Neil Brown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
net/sunrpc/xprtrdma/svc_rdma_sendto.c [new file with mode: 0644]