diff mbox series

[bpf] Revert "xsk: Do not sleep in poll() when need_wakeup set"

Message ID 20211217145646.26449-1-magnus.karlsson@gmail.com (mailing list archive)
State Accepted
Commit 0706a78f31c4217ca144f630063ec9561a21548d
Delegated to: BPF
Headers show
Series [bpf] Revert "xsk: Do not sleep in poll() when need_wakeup set" | expand

Checks

Context Check Description
bpf/vmtest-bpf fail VM_Test
bpf/vmtest-bpf-PR fail PR summary
netdev/tree_selection success Clearly marked for bpf
netdev/fixes_present success Fixes tag present in non-next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 2 this patch: 2
netdev/cc_maintainers warning 9 maintainers not CCed: kafai@fb.com songliubraving@fb.com hawk@kernel.org kuba@kernel.org davem@davemloft.net john.fastabend@gmail.com kpsingh@kernel.org yhs@fb.com andrii@kernel.org
netdev/build_clang success Errors and warnings before: 20 this patch: 20
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 4 this patch: 4
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 16 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Magnus Karlsson Dec. 17, 2021, 2:56 p.m. UTC
From: Magnus Karlsson <magnus.karlsson@intel.com>

This reverts commit bd0687c18e635b63233dc87f38058cd728802ab4.

This patch causes a Tx only workload to go to sleep even when it does
not have to, leading to misserable performance in skb mode. It fixed
one rare problem but created a much worse one, so this need to be
reverted while I try to craft a proper solution to the original
problem.

Fixes: bd0687c18e63 ("xsk: Do not sleep in poll() when need_wakeup set")
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
---
 net/xdp/xsk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


base-commit: 0c3e2474605581375d808bb3b9ce0927ed3eef70

Comments

patchwork-bot+netdevbpf@kernel.org Dec. 17, 2021, 10:10 p.m. UTC | #1
Hello:

This patch was applied to bpf/bpf.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Fri, 17 Dec 2021 15:56:46 +0100 you wrote:
> From: Magnus Karlsson <magnus.karlsson@intel.com>
> 
> This reverts commit bd0687c18e635b63233dc87f38058cd728802ab4.
> 
> This patch causes a Tx only workload to go to sleep even when it does
> not have to, leading to misserable performance in skb mode. It fixed
> one rare problem but created a much worse one, so this need to be
> reverted while I try to craft a proper solution to the original
> problem.
> 
> [...]

Here is the summary with links:
  - [bpf] Revert "xsk: Do not sleep in poll() when need_wakeup set"
    https://git.kernel.org/bpf/bpf/c/0706a78f31c4

You are awesome, thank you!
diff mbox series

Patch

diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index 7a466ea962c5..f16074eb53c7 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c
@@ -677,6 +677,8 @@  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;
 
@@ -688,8 +690,6 @@  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))