• Tom Tucker's avatar
    svcrdma: Fix race with dto_tasklet in svc_rdma_send · dbcd00eb
    Tom Tucker authored
    The svc_rdma_send function will attempt to reap SQ WR to make room for
    a new request if it finds the SQ full. This function races with the
    dto_tasklet that also reaps SQ WR. To avoid polling and arming the CQ
    unnecessarily move the test_and_clear_bit of the RDMAXPRT_SQ_PENDING
    flag and arming of the CQ to the sq_cq_reap function.
    
    Refactor the rq_cq_reap function to match sq_cq_reap so that the
    code is easier to follow.
    Signed-off-by: default avatarTom Tucker <tom@opengridcomputing.com>
    dbcd00eb
svc_rdma_transport.c 30.7 KB