Quoting David S. Miller <davem@davemloft.net>:> Description> To improve efficiency (both computer and network) a data receiver> may refrain from sending an ACK for each incoming segment,> according to [RFC1122]. However, an ACK should not be delayed an> inordinate amount of time. Specifically, ACKs SHOULD be sent for> every second full-sized segment that arrives. If a second full-> sized segment does not arrive within a given timeout (of no more> than 0.5 seconds), an ACK should be transmitted, according to> [RFC1122]. A TCP receiver which does not generate an ACK for> every second full-sized segment exhibits a "Stretch ACK> Violation".

Thanks very much for the info!

So the longest we can delay, according to this spec, is until we have two fullsized segments.

But with the change we are discussing, could an ack now be sent even sooner thanwe have at least two full sized segments? Or does __tcp_ack_snd_check delayuntil we have at least two full sized segments? David, could you explain please?