mbox series

[net-next,0/4] new mechanism to ACK immediately

Message ID 20180809163812.58365-1-ycheng@google.com
Headers show
Series new mechanism to ACK immediately | expand

Message

Yuchung Cheng Aug. 9, 2018, 4:38 p.m. UTC
This patch is a follow-up feature improvement to the recent fixes on
the performance issues in ECN (delayed) ACKs. Many of the fixes use
tcp_enter_quickack_mode routine to force immediate ACKs. However the
routine also reset tracking interactive session. This is not ideal
because these immediate ACKs are required by protocol specifics
unrelated to the interactiveness nature of the application.

This patch set introduces a new flag to send a one-time immediate ACK
without changing the status of interactive session tracking. With this
patch set the immediate ACKs are generated upon these protocol states:

1) When a hole is repaired
2) When CE status changes between subsequent data packets received
3) When a data packet carries CWR flag

Yuchung Cheng (4):
  tcp: mandate a one-time immediate ACK
  tcp: avoid resetting ACK timer in DCTCP
  tcp: always ACK immediately on hole repairs
  tcp: avoid resetting ACK timer upon receiving packet with ECN CWR flag

 include/net/inet_connection_sock.h |  3 ++-
 net/ipv4/tcp_dctcp.c               |  4 ++--
 net/ipv4/tcp_input.c               | 16 +++++++++-------
 3 files changed, 13 insertions(+), 10 deletions(-)

Comments

David Miller Aug. 11, 2018, 6:41 p.m. UTC | #1
From: Yuchung Cheng <ycheng@google.com>
Date: Thu,  9 Aug 2018 09:38:08 -0700

> This patch is a follow-up feature improvement to the recent fixes on
> the performance issues in ECN (delayed) ACKs. Many of the fixes use
> tcp_enter_quickack_mode routine to force immediate ACKs. However the
> routine also reset tracking interactive session. This is not ideal
> because these immediate ACKs are required by protocol specifics
> unrelated to the interactiveness nature of the application.
> 
> This patch set introduces a new flag to send a one-time immediate ACK
> without changing the status of interactive session tracking. With this
> patch set the immediate ACKs are generated upon these protocol states:
> 
> 1) When a hole is repaired
> 2) When CE status changes between subsequent data packets received
> 3) When a data packet carries CWR flag

This looks really nice, series applied.

Thanks!