• Mike Marciniszyn's avatar
    IPoIB: Fix send lockup due to missed TX completion · 1ee9e2aa
    Mike Marciniszyn authored
    Commit f0dc117a ("IPoIB: Fix TX queue lockup with mixed UD/CM
    traffic") attempts to solve an issue where unprocessed UD send
    completions can deadlock the netdev.
    
    The patch doesn't fully resolve the issue because if more than half
    the tx_outstanding's were UD and all of the destinations are RC
    reachable, arming the CQ doesn't solve the issue.
    
    This patch uses the IB_CQ_REPORT_MISSED_EVENTS on the
    ib_req_notify_cq().  If the rc is above 0, the UD send cq completion
    callback is called directly to re-arm the send completion timer.
    
    This issue is seen in very large parallel filesystem deployments
    and the patch has been shown to correct the issue.
    
    Cc: <stable@vger.kernel.org>
    Reviewed-by: default avatarDean Luick <dean.luick@intel.com>
    Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    1ee9e2aa
ipoib_cm.c 41.9 KB