• Krishna Kumar's avatar
    IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler · 48fe5e59
    Krishna Kumar authored
    qdisc_run() now tests for queue_stopped() before calling
    __qdisc_run(), and the same check is done in every iteration of
    __qdisc_run(), so another check is not required in the driver xmit.
    This means that ipoib_start_xmit() no longer needs to test
    netif_queue_stopped(); the test was added to fix earlier kernels,
    where the networking stack did not guarantee that the xmit method of
    an LLTX driver would not be called after the queue was stopped, but
    current kernels do provide this guarantee.
    
    To validate, I put a debug in the TX_BUSY path which never hit with 64
    threads running overnight exercising this code a few 100 million
    times.
    Signed-off-by: default avatarKrishna Kumar <krkumar2@in.ibm.com>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    48fe5e59
ipoib_main.c 31.7 KB