aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma/rw.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-05-03 18:01:11 +0200
committerDoug Ledford <dledford@redhat.com>2016-05-13 13:37:20 -0400
commitb99f8e4d7bcd3bfbb3cd965918523299370d0cb2 (patch)
treeb9f389ea80f027140019ec2807eb0cdd48bfeb8b /include/rdma/rw.h
parenttarget: enhance and export target_alloc_sgl/target_free_sgl (diff)
downloadlinux-dev-b99f8e4d7bcd3bfbb3cd965918523299370d0cb2.tar.xz
linux-dev-b99f8e4d7bcd3bfbb3cd965918523299370d0cb2.zip
IB/srpt: convert to the generic RDMA READ/WRITE API
Replace the homegrown RDMA READ/WRITE code in srpt with the generic API. The only real twist here is that we need to allocate one Linux scatterlist per direct buffer in the SRP command, and chain them before handing them off to the target core. As a side-effect of the conversion the driver will also chain the SEND of the SRP response to the RDMA WRITE WRs for a DATA OUT command, and properly account for RDMA WRITE WRs instead of just for RDMA READ WRs like the driver previously did. We now allocate half of the SQ size to RDMA READ/WRITE contexts, assuming by default one RDMA READ or WRITE operation per command. If a command has multiple operations it will eat into the budget but will still succeed, possible after waiting for WQEs to be available. Also ensure the QPs request the maximum allowed SGEs so that RDMA R/W API works correctly. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/rdma/rw.h')
0 files changed, 0 insertions, 0 deletions