diff options
author | Tony Ambardar <itugrok@yahoo.com> | 2018-12-17 21:29:33 -0800 |
---|---|---|
committer | Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> | 2019-02-11 20:18:48 +0000 |
commit | a7370b5179f5c9793fb18d087955f51d9c080715 (patch) | |
tree | 84e1bb573cbe269c05a40136e73ab9730ea432cc | |
parent | ebcd5226cc0dc1e13531c42c55acba553db6111b (diff) | |
download | upstream-a7370b5179f5c9793fb18d087955f51d9c080715.tar.gz upstream-a7370b5179f5c9793fb18d087955f51d9c080715.tar.bz2 upstream-a7370b5179f5c9793fb18d087955f51d9c080715.zip |
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 <itugrok@yahoo.com>
-rw-r--r-- | target/linux/generic/config-4.14 | 2 | ||||
-rw-r--r-- | target/linux/generic/config-4.19 | 2 | ||||
-rw-r--r-- | 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 81214a6942..e90d8bf930 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 a3470e955c..b77a6fe113 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 9300e06afd..8de01a5306 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 |