Thread (4 messages) flat view 4 messages, 3 authors, 2014-12-12

Re: [PATCH net-next] Avoid reducing cwnd when ACK+DSACK is received

From: Neal Cardwell <ncardwell@google.com>
Date: 2014-12-12 15:54:12

On Thu, Dec 11, 2014 at 2:58 PM, Sébastien Barré
[off-list ref] wrote:
When the peer has delayed ack enabled, it may reply to a probe with an
ACK+D-SACK, with ack value set to tlp_high_seq. In the current code,
such ACK+DSACK will be missed and only at next, higher ack will the TLP
episode be considered done. Since the DSACK is not present anymore,
this will cost a cwnd reduction.

This patch ensures that this scenario does not cause a cwnd reduction, since
receiving an ACK+DSACK indicates that both the initial segment and the probe
have been received by the peer.

Cc: Gregory Detal <redacted>
Cc: Nandita Dukkipati <redacted>
Cc: Yuchung Cheng <redacted>
Signed-off-by: Sébastien Barré <redacted>
BTW, I like this idea, and I'll test it.

Two suggestions for the next iteration:

(1) for TCP patch style, I'd suggest a commit first-line like:

  tcp: avoid reducing cwnd when ACK+DSACK is received

(2) Your patch is essentially a reworking of the is_tlp_dupack
computation. So rather than splitting the logic between the
is_tlp_dupack computation and the new expression inside the if
condition, I'd suggest moving and centralizing all the logic in the if
condition. There is no real need for the is_tlp_dupack variable.

neal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help