• Chuck Lever's avatar
    svcrdma: Allocate recv_ctxt's on CPU handling Receives · eb5d7a62
    Chuck Lever authored
    There is a significant latency penalty when processing an ingress
    Receive if the Receive buffer resides in memory that is not on the
    same NUMA node as the the CPU handling completions for a CQ.
    
    The system administrator and the device driver determine which CPU
    handles completions. This CPU does not change during life of the CQ.
    Further the Upper Layer does not have any visibility of which CPU it
    is.
    
    Allocating Receive buffers in the Receive completion handler
    guarantees that Receive buffers are allocated on the preferred NUMA
    node for that CQ.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    eb5d7a62
svc_rdma_recvfrom.c 20.9 KB