aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch56
1 files changed, 0 insertions, 56 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch
deleted file mode 100644
index bf2556b8..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0011-bpf-x64-increase-number-of-passes.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 1909a1513f6d5b9170e40c4fee98bf2cd57b5b55 Mon Sep 17 00:00:00 2001
-From: Daniel Borkmann <daniel@iogearbox.net>
-Date: Wed, 7 Mar 2018 22:10:01 +0100
-Subject: [PATCH 11/93] bpf, x64: increase number of passes
-
-commit 6007b080d2e2adb7af22bf29165f0594ea12b34c upstream.
-
-In Cilium some of the main programs we run today are hitting 9 passes
-on x64's JIT compiler, and we've had cases already where we surpassed
-the limit where the JIT then punts the program to the interpreter
-instead, leading to insertion failures due to CONFIG_BPF_JIT_ALWAYS_ON
-or insertion failures due to the prog array owner being JITed but the
-program to insert not (both must have the same JITed/non-JITed property).
-
-One concrete case the program image shrunk from 12,767 bytes down to
-10,288 bytes where the image converged after 16 steps. I've measured
-that this took 340us in the JIT until it converges on my i7-6600U. Thus,
-increase the original limit we had from day one where the JIT covered
-cBPF only back then before we run into the case (as similar with the
-complexity limit) where we trip over this and hit program rejections.
-Also add a cond_resched() into the compilation loop, the JIT process
-runs without any locks and may sleep anyway.
-
-Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-Acked-by: Alexei Starovoitov <ast@kernel.org>
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: Alexei Starovoitov <ast@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/net/bpf_jit_comp.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
-index 1f7ed2e..cd97645 100644
---- a/arch/x86/net/bpf_jit_comp.c
-+++ b/arch/x86/net/bpf_jit_comp.c
-@@ -1135,7 +1135,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
- * may converge on the last pass. In such case do one more
- * pass to emit the final image
- */
-- for (pass = 0; pass < 10 || image; pass++) {
-+ for (pass = 0; pass < 20 || image; pass++) {
- proglen = do_jit(prog, addrs, image, oldproglen, &ctx);
- if (proglen <= 0) {
- image = NULL;
-@@ -1162,6 +1162,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
- }
- }
- oldproglen = proglen;
-+ cond_resched();
- }
-
- if (bpf_jit_enable > 1)
---
-2.7.4
-