• Zach Brown's avatar
    RDS/IB: track signaled sends · f046011c
    Zach Brown authored
    We're seeing bugs today where IB connection shutdown clears the send
    ring while the tasklet is processing completed sends.  Implementation
    details cause this to dereference a null pointer.  Shutdown needs to
    wait for send completion to stop before tearing down the connection.  We
    can't simply wait for the ring to empty because it may contain
    unsignaled sends that will never be processed.
    
    This patch tracks the number of signaled sends that we've posted and
    waits for them to complete.  It also makes sure that the tasklet has
    finished executing.
    Signed-off-by: default avatarZach Brown <zach.brown@oracle.com>
    f046011c
ib_send.c 28.7 KB