• Chuck Lever's avatar
    svcrdma: Estimate Send Queue depth properly · 26fb2254
    Chuck Lever authored
    The rdma_rw API adjusts max_send_wr upwards during the
    rdma_create_qp() call. If the ULP actually wants to take advantage
    of these extra resources, it must increase the size of its send
    completion queue (created before rdma_create_qp is called) and
    increase its send queue accounting limit.
    
    Use the new rdma_rw_mr_factor API to figure out the correct value
    to use for the Send Queue and Send Completion Queue depths.
    
    And, ensure that the chosen Send Queue depth for a newly created
    transport does not overrun the QP WR limit of the underlying device.
    
    Lastly, there's no longer a need to carry the Send Queue depth in
    struct svcxprt_rdma, since the value is used only in the
    svc_rdma_accept() path.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    26fb2254
svc_rdma_transport.c 30.5 KB