From 269d7790466183dd5d0614dc975b553f238a8abd Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Sun, 19 Dec 2021 09:59:02 -0500 Subject: [PATCH] Drop xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch Signed-off-by: Sasha Levin --- queue-5.10/series | 1 - ...t-sleep-in-poll-when-need_wakeup-set.patch | 57 ------------------- queue-5.15/series | 1 - ...t-sleep-in-poll-when-need_wakeup-set.patch | 57 ------------------- queue-5.4/series | 1 - ...t-sleep-in-poll-when-need_wakeup-set.patch | 57 ------------------- 6 files changed, 174 deletions(-) delete mode 100644 queue-5.10/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch delete mode 100644 queue-5.15/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch delete mode 100644 queue-5.4/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch diff --git a/queue-5.10/series b/queue-5.10/series index 89170d7d3f4..bf1aee59f34 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -44,7 +44,6 @@ mac80211-agg-tx-don-t-schedule_and_wake_txq-under-st.patch mac80211-fix-lookup-when-adding-addba-extension-elem.patch flow_offload-return-eopnotsupp-for-the-unsupported-m.patch rds-memory-leak-in-__rds_conn_create.patch -xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch drm-amd-pm-fix-a-potential-gpu_metrics_table-memory-.patch mptcp-clear-kern-flag-from-fallback-sockets.patch soc-tegra-fuse-fix-bitwise-vs.-logical-or-warning.patch diff --git a/queue-5.10/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch b/queue-5.10/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch deleted file mode 100644 index 014659cafba..00000000000 --- a/queue-5.10/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch +++ /dev/null @@ -1,57 +0,0 @@ -From cfb6a332c22618f9f86a4484e68c2c10792a6b11 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 14 Dec 2021 11:26:07 +0100 -Subject: xsk: Do not sleep in poll() when need_wakeup set - -From: Magnus Karlsson - -[ Upstream commit bd0687c18e635b63233dc87f38058cd728802ab4 ] - -Do not sleep in poll() when the need_wakeup flag is set. When this -flag is set, the application needs to explicitly wake up the driver -with a syscall (poll, recvmsg, sendmsg, etc.) to guarantee that Rx -and/or Tx processing will be processed promptly. But the current code -in poll(), sleeps first then wakes up the driver. This means that no -driver processing will occur (baring any interrupts) until the timeout -has expired. - -Fix this by checking the need_wakeup flag first and if set, wake the -driver and return to the application. Only if need_wakeup is not set -should the process sleep if there is a timeout set in the poll() call. - -Fixes: 77cd0d7b3f25 ("xsk: add support for need_wakeup flag in AF_XDP rings") -Reported-by: Keith Wiles -Signed-off-by: Magnus Karlsson -Signed-off-by: Daniel Borkmann -Acked-by: Maciej Fijalkowski -Link: https://lore.kernel.org/bpf/20211214102607.7677-1-magnus.karlsson@gmail.com -Signed-off-by: Sasha Levin ---- - net/xdp/xsk.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c -index ca4716b92774b..12112f4b9f7ce 100644 ---- a/net/xdp/xsk.c -+++ b/net/xdp/xsk.c -@@ -499,8 +499,6 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - struct xdp_sock *xs = xdp_sk(sk); - struct xsk_buff_pool *pool; - -- sock_poll_wait(file, sock, wait); -- - if (unlikely(!xsk_is_bound(xs))) - return mask; - -@@ -512,6 +510,8 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - else - /* Poll needs to drive Tx also in copy mode */ - __xsk_sendmsg(sk); -+ } else { -+ sock_poll_wait(file, sock, wait); - } - - if (xs->rx && !xskq_prod_is_empty(xs->rx)) --- -2.33.0 - diff --git a/queue-5.15/series b/queue-5.15/series index 388cfb92641..cbdfd4254fd 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -83,7 +83,6 @@ mac80211-fix-lookup-when-adding-addba-extension-elem.patch net-stmmac-fix-tc-flower-deletion-for-vlan-priority-.patch flow_offload-return-eopnotsupp-for-the-unsupported-m.patch rds-memory-leak-in-__rds_conn_create.patch -xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch ice-use-div64_u64-instead-of-div_u64-in-adjfine.patch ice-don-t-put-stale-timestamps-in-the-skb.patch drm-amd-display-set-exit_optimized_pwr_state-for-dcn.patch diff --git a/queue-5.15/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch b/queue-5.15/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch deleted file mode 100644 index 6901af3c9a2..00000000000 --- a/queue-5.15/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c294ad4dbcde52cdc3e99b336e1369697074a768 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 14 Dec 2021 11:26:07 +0100 -Subject: xsk: Do not sleep in poll() when need_wakeup set - -From: Magnus Karlsson - -[ Upstream commit bd0687c18e635b63233dc87f38058cd728802ab4 ] - -Do not sleep in poll() when the need_wakeup flag is set. When this -flag is set, the application needs to explicitly wake up the driver -with a syscall (poll, recvmsg, sendmsg, etc.) to guarantee that Rx -and/or Tx processing will be processed promptly. But the current code -in poll(), sleeps first then wakes up the driver. This means that no -driver processing will occur (baring any interrupts) until the timeout -has expired. - -Fix this by checking the need_wakeup flag first and if set, wake the -driver and return to the application. Only if need_wakeup is not set -should the process sleep if there is a timeout set in the poll() call. - -Fixes: 77cd0d7b3f25 ("xsk: add support for need_wakeup flag in AF_XDP rings") -Reported-by: Keith Wiles -Signed-off-by: Magnus Karlsson -Signed-off-by: Daniel Borkmann -Acked-by: Maciej Fijalkowski -Link: https://lore.kernel.org/bpf/20211214102607.7677-1-magnus.karlsson@gmail.com -Signed-off-by: Sasha Levin ---- - net/xdp/xsk.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c -index d6b500dc42084..d942e1bf443d9 100644 ---- a/net/xdp/xsk.c -+++ b/net/xdp/xsk.c -@@ -692,8 +692,6 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - struct xdp_sock *xs = xdp_sk(sk); - struct xsk_buff_pool *pool; - -- sock_poll_wait(file, sock, wait); -- - if (unlikely(!xsk_is_bound(xs))) - return mask; - -@@ -705,6 +703,8 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - else - /* Poll needs to drive Tx also in copy mode */ - __xsk_sendmsg(sk); -+ } else { -+ sock_poll_wait(file, sock, wait); - } - - if (xs->rx && !xskq_prod_is_empty(xs->rx)) --- -2.33.0 - diff --git a/queue-5.4/series b/queue-5.4/series index ff9cac3bf94..88bb543cc8a 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -31,7 +31,6 @@ mac80211-fix-lookup-when-adding-addba-extension-elem.patch net-sched-lock-action-when-translating-it-to-flow_ac.patch flow_offload-return-eopnotsupp-for-the-unsupported-m.patch rds-memory-leak-in-__rds_conn_create.patch -xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch soc-tegra-fuse-fix-bitwise-vs.-logical-or-warning.patch igb-fix-removal-of-unicast-mac-filters-of-vfs.patch igbvf-fix-double-free-in-igbvf_probe.patch diff --git a/queue-5.4/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch b/queue-5.4/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch deleted file mode 100644 index 08f421c2b40..00000000000 --- a/queue-5.4/xsk-do-not-sleep-in-poll-when-need_wakeup-set.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 33a146851cf21ffc19b11d8100297b271cf69fa5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 14 Dec 2021 11:26:07 +0100 -Subject: xsk: Do not sleep in poll() when need_wakeup set - -From: Magnus Karlsson - -[ Upstream commit bd0687c18e635b63233dc87f38058cd728802ab4 ] - -Do not sleep in poll() when the need_wakeup flag is set. When this -flag is set, the application needs to explicitly wake up the driver -with a syscall (poll, recvmsg, sendmsg, etc.) to guarantee that Rx -and/or Tx processing will be processed promptly. But the current code -in poll(), sleeps first then wakes up the driver. This means that no -driver processing will occur (baring any interrupts) until the timeout -has expired. - -Fix this by checking the need_wakeup flag first and if set, wake the -driver and return to the application. Only if need_wakeup is not set -should the process sleep if there is a timeout set in the poll() call. - -Fixes: 77cd0d7b3f25 ("xsk: add support for need_wakeup flag in AF_XDP rings") -Reported-by: Keith Wiles -Signed-off-by: Magnus Karlsson -Signed-off-by: Daniel Borkmann -Acked-by: Maciej Fijalkowski -Link: https://lore.kernel.org/bpf/20211214102607.7677-1-magnus.karlsson@gmail.com -Signed-off-by: Sasha Levin ---- - net/xdp/xsk.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c -index 2bc0d6e3e124c..4ec5f4463a718 100644 ---- a/net/xdp/xsk.c -+++ b/net/xdp/xsk.c -@@ -434,8 +434,6 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - struct xdp_sock *xs = xdp_sk(sk); - struct xdp_umem *umem; - -- sock_poll_wait(file, sock, wait); -- - if (unlikely(!xsk_is_bound(xs))) - return mask; - -@@ -447,6 +445,8 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, - else - /* Poll needs to drive Tx also in copy mode */ - __xsk_sendmsg(sk); -+ } else { -+ sock_poll_wait(file, sock, wait); - } - - if (xs->rx && !xskq_empty_desc(xs->rx)) --- -2.33.0 - -- 2.47.3