• Chuck Lever's avatar
    svcrdma: Relieve contention on sc_send_lock. · b6c2bfea
    Chuck Lever authored
    /proc/lock_stat indicates the the sc_send_lock is heavily
    contended when the server is under load from a single client.
    
    To address this, convert the send_ctxt free list to an llist.
    Returning an item to the send_ctxt cache is now waitless, which
    reduces the instruction path length in the single-threaded Send
    handler (svc_rdma_wc_send).
    
    The goal is to enable the ib_comp_wq worker to handle a higher
    RPC/RDMA Send completion rate given the same CPU resources. This
    change reduces CPU utilization of Send completion by 2-3% on my
    server.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Reviewed-By: default avatarTom Talpey <tom@talpey.com>
    b6c2bfea
svc_rdma_transport.c 19.2 KB