From: Greg Kroah-Hartman Date: Tue, 21 Jan 2020 20:45:32 +0000 (+0100) Subject: drop queue-4.14/tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch X-Git-Tag: v4.4.211~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c537029d21676fa39b7f06b0b5ec54eb5d10a10a;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-4.14/tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch --- diff --git a/queue-4.14/series b/queue-4.14/series index f0be1d070d6..3a2721de161 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -48,7 +48,6 @@ ptp-free-ptp-device-pin-descriptors-properly.patch r8152-add-missing-endpoint-sanity-check.patch tcp-fix-marked-lost-packets-not-being-retransmitted.patch xen-blkfront-adjust-indentation-in-xlvbd_alloc_gendisk.patch -tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch cw1200-fix-a-signedness-bug-in-cw1200_load_firmware.patch arm64-dts-meson-gxl-s905x-khadas-vim-fix-gpio-keys-polled-node.patch cfg80211-check-for-set_wiphy_params.patch diff --git a/queue-4.14/tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch b/queue-4.14/tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch deleted file mode 100644 index 064bfaf744e..00000000000 --- a/queue-4.14/tcp-refine-rule-to-allow-epollout-generation-under-mem-pressure.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 216808c6ba6d00169fd2aa928ec3c0e63bef254f Mon Sep 17 00:00:00 2001 -From: Eric Dumazet -Date: Thu, 12 Dec 2019 12:55:31 -0800 -Subject: tcp: refine rule to allow EPOLLOUT generation under mem pressure - -From: Eric Dumazet - -commit 216808c6ba6d00169fd2aa928ec3c0e63bef254f upstream. - -At the time commit ce5ec440994b ("tcp: ensure epoll edge trigger -wakeup when write queue is empty") was added to the kernel, -we still had a single write queue, combining rtx and write queues. - -Once we moved the rtx queue into a separate rb-tree, testing -if sk_write_queue is empty has been suboptimal. - -Indeed, if we have packets in the rtx queue, we probably want -to delay the EPOLLOUT generation at the time incoming packets -will free them, making room, but more importantly avoiding -flooding application with EPOLLOUT events. - -Solution is to use tcp_rtx_and_write_queues_empty() helper. - -Fixes: 75c119afe14f ("tcp: implement rb-tree based retransmit queue") -Signed-off-by: Eric Dumazet -Cc: Jason Baron -Cc: Neal Cardwell -Acked-by: Soheil Hassas Yeganeh -Signed-off-by: Jakub Kicinski -Signed-off-by: Greg Kroah-Hartman - ---- - net/ipv4/tcp.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - ---- a/net/ipv4/tcp.c -+++ b/net/ipv4/tcp.c -@@ -1055,8 +1055,7 @@ do_error: - goto out; - out_err: - /* make sure we wake any epoll edge trigger waiter */ -- if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 && -- err == -EAGAIN)) { -+ if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) { - sk->sk_write_space(sk); - tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED); - } -@@ -1440,8 +1439,7 @@ out_err: - sock_zerocopy_put_abort(uarg); - err = sk_stream_error(sk, flags, err); - /* make sure we wake any epoll edge trigger waiter */ -- if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 && -- err == -EAGAIN)) { -+ if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) { - sk->sk_write_space(sk); - tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED); - }