• Chuck Lever's avatar
    svcrdma: Pre-allocate svc_rdma_recv_ctxt objects · 877118c6
    Chuck Lever authored
    The original reason for allocating svc_rdma_recv_ctxt objects during
    Receive completion was to ensure the objects were allocated on the
    NUMA node closest to the underlying IB device.
    
    Since commit c5d68d25 ("svcrdma: Clean up allocation of
    svc_rdma_recv_ctxt"), however, the device's favored node is
    explicitly passed to the memory allocator.
    
    To enable switching Receive completion to soft IRQ context, move
    memory allocation out of completion handling, since it can be
    costly, and it can sleep.
    
    A limited number of objects is now allocated at "accept" time.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    877118c6
svc_rdma_recvfrom.c 24.7 KB