X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fbackport-4.9%2F024-6-tcp-tcp_mtu_probe-is-likely-to-exit-early.patch;fp=target%2Flinux%2Fgeneric%2Fbackport-4.9%2F024-6-tcp-tcp_mtu_probe-is-likely-to-exit-early.patch;h=0000000000000000000000000000000000000000;hp=5669b897e7554df272ba3121566436baaabb474e;hb=57a9633a2c6c3be56c794576157f057a70ac52df;hpb=28fd4ac512ec1c08a79ac7a434b2def3cc82f1d5 diff --git a/target/linux/generic/backport-4.9/024-6-tcp-tcp_mtu_probe-is-likely-to-exit-early.patch b/target/linux/generic/backport-4.9/024-6-tcp-tcp_mtu_probe-is-likely-to-exit-early.patch deleted file mode 100644 index 5669b897e7..0000000000 --- a/target/linux/generic/backport-4.9/024-6-tcp-tcp_mtu_probe-is-likely-to-exit-early.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 12a59abc22d6664f7d3944f625ceefee92de8820 Mon Sep 17 00:00:00 2001 -From: Eric Dumazet -Date: Sat, 3 Dec 2016 11:14:55 -0800 -Subject: [PATCH 06/10] tcp: tcp_mtu_probe() is likely to exit early - -Adding a likely() in tcp_mtu_probe() moves its code which used to -be inlined in front of tcp_write_xmit() - -We still have a cache line miss to access icsk->icsk_mtup.enabled, -we will probably have to reorganize fields to help data locality. - -Signed-off-by: Eric Dumazet -Signed-off-by: David S. Miller ---- - net/ipv4/tcp_output.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - ---- a/net/ipv4/tcp_output.c -+++ b/net/ipv4/tcp_output.c -@@ -1974,26 +1974,26 @@ static bool tcp_can_coalesce_send_queue_ - */ - static int tcp_mtu_probe(struct sock *sk) - { -- struct tcp_sock *tp = tcp_sk(sk); - struct inet_connection_sock *icsk = inet_csk(sk); -+ struct tcp_sock *tp = tcp_sk(sk); - struct sk_buff *skb, *nskb, *next; - struct net *net = sock_net(sk); -- int len; - int probe_size; - int size_needed; -- int copy; -+ int copy, len; - int mss_now; - int interval; - - /* Not currently probing/verifying, - * not in recovery, - * have enough cwnd, and -- * not SACKing (the variable headers throw things off) */ -- if (!icsk->icsk_mtup.enabled || -- icsk->icsk_mtup.probe_size || -- inet_csk(sk)->icsk_ca_state != TCP_CA_Open || -- tp->snd_cwnd < 11 || -- tp->rx_opt.num_sacks || tp->rx_opt.dsack) -+ * not SACKing (the variable headers throw things off) -+ */ -+ if (likely(!icsk->icsk_mtup.enabled || -+ icsk->icsk_mtup.probe_size || -+ inet_csk(sk)->icsk_ca_state != TCP_CA_Open || -+ tp->snd_cwnd < 11 || -+ tp->rx_opt.num_sacks || tp->rx_opt.dsack)) - return -1; - - /* Use binary search for probe_size between tcp_mss_base,