• Tom Tucker's avatar
    svcrdma: Simplify RDMA_READ deferral buffer management · 02e7452d
    Tom Tucker authored
    An NFS_WRITE requires a set of RDMA_READ requests to fetch the write
    data from the client. There are two principal pieces of data that
    need to be tracked: the list of pages that comprise the completed RPC
    and the SGE of dma mapped pages to refer to this list of pages. Previously
    this whole bit was managed as a linked list of contexts with the
    context containing the page list buried in this list. This patch
    simplifies this processing by not keeping a linked list, but rather only
    a pionter from the last submitted RDMA_READ's context to the context
    that maps the set of pages that describe the RPC.  This significantly
    simplifies this code path. SGE contexts are cleaned up inline in the DTO
    path instead of at read completion time.
    Signed-off-by: default avatarTom Tucker <tom@opengridcomputing.com>
    02e7452d
svc_rdma_transport.c 30.7 KB