tipc: rate limit broadcast retransmissions
authorJon Paul Maloy <jon.maloy@ericsson.com>
Thu, 1 Sep 2016 17:52:50 +0000 (13:52 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Sep 2016 00:10:24 +0000 (17:10 -0700)
commit7c4a54b963b68eee5ef3bd7ca740630d965616e2
tree47d208204080540e4c117a72d0790a64509b49bd
parent02d11ca20091fcef904f05defda80c53e5b4e793
tipc: rate limit broadcast retransmissions

As cluster sizes grow, so does the amount of identical or overlapping
broadcast NACKs generated by the packet receivers. This often leads to
'NACK crunches' resulting in huge numbers of redundant retransmissions
of the same packet ranges.

In this commit, we introduce rate control of broadcast retransmissions,
so that a retransmitted range cannot be retransmitted again until after
at least 10 ms. This reduces the frequency of duplicate, redundant
retransmissions by an order of magnitude, while having a significant
positive impact on overall throughput and scalability.

Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/link.c