[Bloat] benefits of ack filtering

Mikael Abrahamsson swmike at swm.pp.se
Thu Nov 30 08:04:45 EST 2017


On Thu, 30 Nov 2017, Eric Dumazet wrote:

> I agree that TCP itself should generate ACK smarter, on receivers that 
> are lacking GRO. (TCP sends at most one ACK per GRO packets, that is why 
> we did not feel an urgent need for better ACK generation)

Could you elaborate a bit more on the practical implications of the above 
text? What is the typical GRO size used when doing gigabit ethernet 
transmissions?

So if we're receiving 70kPPS of 1500 byte packets containing 1460 MSS 
sized packet (~100 megabyte/s), what would a typical ACK rate be in that 
case?

In response to some other postings here, my question regarding "is 35kPPS 
really needed" my proposal is not "let's send 50 PPS of ACKs". My proposal 
is if we can't come up with a smarter algorithm than something from the 
90ties that says "let's send one ACK per 2*MSS" when we today have 
magnitudes higher rates of forwarding. Also, on for instance DOCSIS 
networks then you're going to get several ACKs back-to-back anyway 
(because if they're not pruned by the DOCSIS network, they're anyway sent 
in "bursts" within a single DOCSIS transmit opportunity), so imagining 
that 35kPPS gives you higher resolution than 1kPPS of ACKs is just an 
illusion.

So if GRO results in (I'm just speculating here) "we're only sending one 
ACK per X kilobytes received if the packets arrived in the same 
millisecond" and X is in the 16-64 kilobyte range, then that's fine by me.

Any network worth anything should be able to smooth out "bursts" of 16-64 
kilobytes at line rate anyway, in case of egress and the line rate there 
is lower than the sending end is transmitting packets at.

-- 
Mikael Abrahamsson    email: swmike at swm.pp.se



More information about the Bloat mailing list