Skip to content
Permalink
Browse files

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>
  • Loading branch information...
guidosarducci authored and ldir-EDB0 committed Dec 18, 2018
1 parent ebcd522 commit a7370b5179f5c9793fb18d087955f51d9c080715
Showing with 3 additions and 3 deletions.
  1. +1 −1 target/linux/generic/config-4.14
  2. +1 −1 target/linux/generic/config-4.19
  3. +1 −1 target/linux/generic/config-4.9
@@ -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
@@ -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
@@ -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

0 comments on commit a7370b5

Please sign in to comment.
You can’t perform that action at this time.