diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2020-08-21 10:46:10 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2020-08-21 10:46:10 -0400 |
commit | 5c2040764b77c5495651bb397fae6f4258c2855c (patch) | |
tree | 597abc274622073a3f7092815cbd0fe2e2115242 | |
parent | 3169aa4d8939a8a41cae23b41ae56f540ff5cdb9 (diff) | |
download | longterm-queue-5.2-5c2040764b77c5495651bb397fae6f4258c2855c.tar.gz |
tcp: use v5.4-stable version for appropriate unused_1 bit count
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/tcp-allow-at-most-one-TLP-probe-per-flight.patch | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/queue/tcp-allow-at-most-one-TLP-probe-per-flight.patch b/queue/tcp-allow-at-most-one-TLP-probe-per-flight.patch index e99881e7..03210eb8 100644 --- a/queue/tcp-allow-at-most-one-TLP-probe-per-flight.patch +++ b/queue/tcp-allow-at-most-one-TLP-probe-per-flight.patch @@ -1,9 +1,9 @@ -From 76be93fc0702322179bb0ea87295d820ee46ad14 Mon Sep 17 00:00:00 2001 +From cd6b986353a252e53fc406cb8c237f4b4ee09d3c Mon Sep 17 00:00:00 2001 From: Yuchung Cheng <ycheng@google.com> Date: Thu, 23 Jul 2020 12:00:06 -0700 Subject: [PATCH] tcp: allow at most one TLP probe per flight -commit 76be93fc0702322179bb0ea87295d820ee46ad14 upstream. +[ Upstream commit 76be93fc0702322179bb0ea87295d820ee46ad14 ] Previously TLP may send multiple probes of new data in one flight. This happens when the sender is cwnd limited. After the @@ -27,19 +27,19 @@ Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +[PG: use v5.4-stable version for "unused_1" bit count."] diff --git a/include/linux/tcp.h b/include/linux/tcp.h -index 9aac824c523c..a1bbaa1c1a3a 100644 +index 3eb7f9a27364..908e1fa07586 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h -@@ -220,7 +220,9 @@ struct tcp_sock { +@@ -221,6 +221,8 @@ struct tcp_sock { } rack; u16 advmss; /* Advertised MSS */ u8 compressed_ack; -- u8 dup_ack_counter; -+ u8 dup_ack_counter:2, -+ tlp_retrans:1, /* TLP is a retransmission */ -+ unused:5; ++ u8 tlp_retrans:1, /* TLP is a retransmission */ ++ unused_1:7; u32 chrono_start; /* Start time in jiffies of a TCP chrono */ u32 chrono_stat[3]; /* Time in jiffies for chrono_stat stats */ u8 chrono_type:2, /* current chronograph type */ @@ -50,13 +50,13 @@ index 9aac824c523c..a1bbaa1c1a3a 100644 - u32 tlp_high_seq; /* snd_nxt at the time of TLP retransmit. */ + u32 tlp_high_seq; /* snd_nxt at the time of TLP */ - u32 tcp_tx_delay; /* delay (in usec) added to TX packets */ u64 tcp_wstamp_ns; /* departure time for next sent data packet */ + u64 tcp_clock_cache; /* cache last tcp_clock_ns() (see tcp_mstamp_refresh()) */ diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c -index 9615e72656d1..518f04355fbf 100644 +index 1986560889a0..65a899f65fa2 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3488,10 +3488,8 @@ static void tcp_replace_ts_recent(struct tcp_sock *tp, u32 seq) +@@ -3501,10 +3501,8 @@ static void tcp_replace_ts_recent(struct tcp_sock *tp, u32 seq) } } @@ -69,7 +69,7 @@ index 9615e72656d1..518f04355fbf 100644 */ static void tcp_process_tlp_ack(struct sock *sk, u32 ack, int flag) { -@@ -3500,7 +3498,10 @@ static void tcp_process_tlp_ack(struct sock *sk, u32 ack, int flag) +@@ -3513,7 +3511,10 @@ static void tcp_process_tlp_ack(struct sock *sk, u32 ack, int flag) if (before(ack, tp->tlp_high_seq)) return; @@ -82,10 +82,10 @@ index 9615e72656d1..518f04355fbf 100644 tp->tlp_high_seq = 0; } else if (after(ack, tp->tlp_high_seq)) { diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c -index 5f5b2f0b0e60..0bc05d68cd74 100644 +index 604fe19ef189..807dc290fb7d 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -2624,6 +2624,11 @@ void tcp_send_loss_probe(struct sock *sk) +@@ -2535,6 +2535,11 @@ void tcp_send_loss_probe(struct sock *sk) int pcount; int mss = tcp_current_mss(sk); @@ -97,7 +97,7 @@ index 5f5b2f0b0e60..0bc05d68cd74 100644 skb = tcp_send_head(sk); if (skb && tcp_snd_wnd_test(tp, skb, mss)) { pcount = tp->packets_out; -@@ -2641,10 +2646,6 @@ void tcp_send_loss_probe(struct sock *sk) +@@ -2552,10 +2557,6 @@ void tcp_send_loss_probe(struct sock *sk) return; } @@ -108,7 +108,7 @@ index 5f5b2f0b0e60..0bc05d68cd74 100644 if (skb_still_in_host_queue(sk, skb)) goto rearm_timer; -@@ -2666,10 +2667,12 @@ void tcp_send_loss_probe(struct sock *sk) +@@ -2577,10 +2578,12 @@ void tcp_send_loss_probe(struct sock *sk) if (__tcp_retransmit_skb(sk, skb, 1)) goto rearm_timer; |