• Chuck Lever's avatar
    xprtrdma: Reduce max_frwr_depth · a7886849
    Chuck Lever authored
    Some devices advertise a large max_fast_reg_page_list_len
    capability, but perform optimally when MRs are significantly smaller
    than that depth -- probably when the MR itself is no larger than a
    page.
    
    By default, the RDMA R/W core API uses max_sge_rd as the maximum
    page depth for MRs. For some devices, the value of max_sge_rd is
    1, which is also not optimal. Thus, when max_sge_rd is larger than
    1, use that value. Otherwise use the value of the
    max_fast_reg_page_list_len attribute.
    
    I've tested this with CX-3 Pro, FastLinq, and CX-5 devices. It
    reproducibly improves the throughput of large I/Os by several
    percent.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    a7886849
frwr_ops.c 16.4 KB