• Jon Paul Maloy's avatar
    tipc: ensure that link congestion and wakeup use same criteria · 5a0950c2
    Jon Paul Maloy authored
    When a link is attempted woken up after congestion, it uses a different,
    more generous criteria than when it was originally declared congested.
    This has the effect that the link, and the sending process, sometimes
    will be woken up unnecessarily, just to immediately return to congestion
    when it turns out there is not not enough space in its send queue to
    host the pending message. This is a waste of CPU cycles.
    
    We now change the function link_prepare_wakeup() to use exactly the same
    criteria as tipc_link_xmit(). However, since we are now excluding the
    window limit from the wakeup calculation, and the current backlog limit
    for the lowest level is too small to house even a single maximum-size
    message, we have to expand this limit. We do this by evaluating an
    alternative, minimum value during the setting of the importance limits.
    Acked-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5a0950c2
link.c 54.3 KB