X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fbackport-4.9%2F024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch;fp=target%2Flinux%2Fgeneric%2Fbackport-4.9%2F024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch;h=0000000000000000000000000000000000000000;hb=57a9633a2c6c3be56c794576157f057a70ac52df;hp=0156efa65ef28faa8516e3214c5973ec09acfcd3;hpb=28fd4ac512ec1c08a79ac7a434b2def3cc82f1d5;p=openwrt%2Fopenwrt.git diff --git a/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch b/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch deleted file mode 100644 index 0156efa65e..0000000000 --- a/target/linux/generic/backport-4.9/024-5-tcp-tsq-add-a-shortcut-in-tcp_small_queue_check.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 75eefc6c59fd2c5f1ab95a3a113c217237d12a31 Mon Sep 17 00:00:00 2001 -From: Eric Dumazet -Date: Sat, 3 Dec 2016 11:14:54 -0800 -Subject: [PATCH 05/10] tcp: tsq: add a shortcut in tcp_small_queue_check() - -Always allow the two first skbs in write queue to be sent, -regardless of sk_wmem_alloc/sk_pacing_rate values. - -This helps a lot in situations where TX completions are delayed either -because of driver latencies or softirq latencies. - -Test is done with no cache line misses. - -Signed-off-by: Eric Dumazet -Signed-off-by: David S. Miller ---- - net/ipv4/tcp_output.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/net/ipv4/tcp_output.c -+++ b/net/ipv4/tcp_output.c -@@ -2142,6 +2142,15 @@ static bool tcp_small_queue_check(struct - limit <<= factor; - - if (atomic_read(&sk->sk_wmem_alloc) > limit) { -+ /* Always send the 1st or 2nd skb in write queue. -+ * No need to wait for TX completion to call us back, -+ * after softirq/tasklet schedule. -+ * This helps when TX completions are delayed too much. -+ */ -+ if (skb == sk->sk_write_queue.next || -+ skb->prev == sk->sk_write_queue.next) -+ return false; -+ - set_bit(TSQ_THROTTLED, &tcp_sk(sk)->tsq_flags); - /* It is possible TX completion already happened - * before we set TSQ_THROTTLED, so we must