From a7370b5179f5c9793fb18d087955f51d9c080715 Mon Sep 17 00:00:00 2001 From: Tony Ambardar Date: Mon, 17 Dec 2018 21:29:33 -0800 Subject: [PATCH] kernel: enable CONFIG_BPF_JIT by default Enable the built-in BPF JIT compiler for all 4.9, 4.14 and 4.19 kernels, which should speed up cBPF and eBPF-based packet filtering (tc, iptables) and packet sniffing (libpcap, tcpdump, fwknopd, etc). This has minimal kernel size impact, increasing the size of uImage-lzma (normally ~2 MB on mips_24kc or mips64el_mips64) by 5 KB for the MIPS32 arch cBPF JIT and by 9 KB for the MIPS64 arch eBPF JIT, on kernel 4.14. With JIT enabled (cBPF only), the standard BPF test module (test_bpf.ko) running on a DIR-835 (mips_24kc) used 33 CPU seconds, but 68 without JIT. This change aligns with the notion of OpenWRT as the network go-to swiss army knife for packet handling, especially on CPU-constrained platforms. Signed-off-by: Tony Ambardar --- target/linux/generic/config-4.14 | 2 +- target/linux/generic/config-4.19 | 2 +- target/linux/generic/config-4.9 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14 index 81214a69424..e90d8bf9307 100644 --- a/target/linux/generic/config-4.14 +++ b/target/linux/generic/config-4.14 @@ -594,7 +594,7 @@ CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3 # CONFIG_BOOT_PRINTK_DELAY is not set CONFIG_BOOT_RAW=y CONFIG_BPF=y -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT=y # CONFIG_BPF_JIT_ALWAYS_ON is not set # CONFIG_BPF_STREAM_PARSER is not set CONFIG_BPF_SYSCALL=y diff --git a/target/linux/generic/config-4.19 b/target/linux/generic/config-4.19 index a3470e955cb..b77a6fe1130 100644 --- a/target/linux/generic/config-4.19 +++ b/target/linux/generic/config-4.19 @@ -614,7 +614,7 @@ CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3 CONFIG_BOOT_RAW=y CONFIG_BPF=y # CONFIG_BPFILTER is not set -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT=y # CONFIG_BPF_JIT_ALWAYS_ON is not set # CONFIG_BPF_STREAM_PARSER is not set CONFIG_BPF_SYSCALL=y diff --git a/target/linux/generic/config-4.9 b/target/linux/generic/config-4.9 index 9300e06afd7..8de01a53060 100644 --- a/target/linux/generic/config-4.9 +++ b/target/linux/generic/config-4.9 @@ -566,7 +566,7 @@ CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3 # CONFIG_BOOT_PRINTK_DELAY is not set CONFIG_BOOT_RAW=y CONFIG_BPF=y -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT=y CONFIG_BPF_SYSCALL=y # CONFIG_BPQETHER is not set CONFIG_BQL=y