diff options
| author | David S. Miller <davem@davemloft.net> | 2020-04-30 13:24:01 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2020-04-30 13:24:01 -0700 |
| commit | 1b2e788490deef5e570ebe604b5cc50f82877c11 (patch) | |
| tree | 2160cfb6274072fcc4350afbbd5aa7ebf1580a4c /net/ipv4/tcp_timer.c | |
| parent | 3857c776240f0edef8639d7833626ab2ee7c7723 (diff) | |
| parent | a70437cc09a11771870e9f6bfc0ba1237161daa8 (diff) | |
Merge branch 'tcp-sack-compression-changes'
Eric Dumazet says:
====================
tcp: sack compression changes
Patch series refines SACK compression.
We had issues with missing SACK when TCP option space is tight.
Uses hrtimer slack to improve performance.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
| -rw-r--r-- | net/ipv4/tcp_timer.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index c3f26dcd6704..ada046f425d2 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -753,8 +753,14 @@ static enum hrtimer_restart tcp_compressed_ack_kick(struct hrtimer *timer) bh_lock_sock(sk); if (!sock_owned_by_user(sk)) { - if (tp->compressed_ack > TCP_FASTRETRANS_THRESH) + if (tp->compressed_ack) { + /* Since we have to send one ack finally, + * substract one from tp->compressed_ack to keep + * LINUX_MIB_TCPACKCOMPRESSED accurate. + */ + tp->compressed_ack--; tcp_send_ack(sk); + } } else { if (!test_and_set_bit(TCP_DELACK_TIMER_DEFERRED, &sk->sk_tsq_flags)) |
