Message ID | 20190203115132.8766-4-bjorn.topel@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add RISC-V (RV64G) BPF JIT | expand |
From: bjorn.topel@gmail.com Date: Sun, 3 Feb 2019 12:51:31 +0100 > From: Björn Töpel <bjorn.topel@gmail.com> > > Update Documentation/networking/filter.txt to mention RISC-V. > > Signed-off-by: Björn Töpel <bjorn.topel@gmail.com> Acked-by: David S. Miller <davem@davemloft.net>
On 02/03/2019 12:51 PM, bjorn.topel@gmail.com wrote: > From: Björn Töpel <bjorn.topel@gmail.com> > > Update Documentation/networking/filter.txt to mention RISC-V. > > Signed-off-by: Björn Töpel <bjorn.topel@gmail.com> Nit: in Documentation/sysctl/net.txt under bpf_jit_enable there is also a concrete list of eBPF/cBPF JITs, would be good to add riscv64 there as well. > Documentation/networking/filter.txt | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/Documentation/networking/filter.txt b/Documentation/networking/filter.txt > index 01603bc2eff1..b5e060edfc38 100644 > --- a/Documentation/networking/filter.txt > +++ b/Documentation/networking/filter.txt > @@ -464,10 +464,11 @@ breakpoints: 0 1 > JIT compiler > ------------ > > -The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC, > -ARM, ARM64, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT > -compiler is transparently invoked for each attached filter from user space > -or for internal kernel users if it has been previously enabled by root: > +The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, > +PowerPC, ARM, ARM64, MIPS, RISC-V and s390 and can be enabled through > +CONFIG_BPF_JIT. The JIT compiler is transparently invoked for each > +attached filter from user space or for internal kernel users if it has > +been previously enabled by root: > > echo 1 > /proc/sys/net/core/bpf_jit_enable > > @@ -603,9 +604,10 @@ got from bpf_prog_create(), and 'ctx' the given context (e.g. > skb pointer). All constraints and restrictions from bpf_check_classic() apply > before a conversion to the new layout is being done behind the scenes! > > -Currently, the classic BPF format is being used for JITing on most 32-bit > -architectures, whereas x86-64, aarch64, s390x, powerpc64, sparc64, arm32 perform > -JIT compilation from eBPF instruction set. > +Currently, the classic BPF format is being used for JITing on most > +32-bit architectures, whereas x86-64, aarch64, s390x, powerpc64, > +sparc64, arm32, riscv (RV64G) perform JIT compilation from eBPF > +instruction set. > > Some core changes of the new internal format: > >
Den mån 4 feb. 2019 kl 21:09 skrev Daniel Borkmann <daniel@iogearbox.net>: > > On 02/03/2019 12:51 PM, bjorn.topel@gmail.com wrote: > > From: Björn Töpel <bjorn.topel@gmail.com> > > > > Update Documentation/networking/filter.txt to mention RISC-V. > > > > Signed-off-by: Björn Töpel <bjorn.topel@gmail.com> > > Nit: in Documentation/sysctl/net.txt under bpf_jit_enable there is also > a concrete list of eBPF/cBPF JITs, would be good to add riscv64 there as > well. > Thanks for pointing this out! I'll do a v2. Björn > > Documentation/networking/filter.txt | 16 +++++++++------- > > 1 file changed, 9 insertions(+), 7 deletions(-) > > > > diff --git a/Documentation/networking/filter.txt b/Documentation/networking/filter.txt > > index 01603bc2eff1..b5e060edfc38 100644 > > --- a/Documentation/networking/filter.txt > > +++ b/Documentation/networking/filter.txt > > @@ -464,10 +464,11 @@ breakpoints: 0 1 > > JIT compiler > > ------------ > > > > -The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC, > > -ARM, ARM64, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT > > -compiler is transparently invoked for each attached filter from user space > > -or for internal kernel users if it has been previously enabled by root: > > +The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, > > +PowerPC, ARM, ARM64, MIPS, RISC-V and s390 and can be enabled through > > +CONFIG_BPF_JIT. The JIT compiler is transparently invoked for each > > +attached filter from user space or for internal kernel users if it has > > +been previously enabled by root: > > > > echo 1 > /proc/sys/net/core/bpf_jit_enable > > > > @@ -603,9 +604,10 @@ got from bpf_prog_create(), and 'ctx' the given context (e.g. > > skb pointer). All constraints and restrictions from bpf_check_classic() apply > > before a conversion to the new layout is being done behind the scenes! > > > > -Currently, the classic BPF format is being used for JITing on most 32-bit > > -architectures, whereas x86-64, aarch64, s390x, powerpc64, sparc64, arm32 perform > > -JIT compilation from eBPF instruction set. > > +Currently, the classic BPF format is being used for JITing on most > > +32-bit architectures, whereas x86-64, aarch64, s390x, powerpc64, > > +sparc64, arm32, riscv (RV64G) perform JIT compilation from eBPF > > +instruction set. > > > > Some core changes of the new internal format: > > > > >
diff --git a/Documentation/networking/filter.txt b/Documentation/networking/filter.txt index 01603bc2eff1..b5e060edfc38 100644 --- a/Documentation/networking/filter.txt +++ b/Documentation/networking/filter.txt @@ -464,10 +464,11 @@ breakpoints: 0 1 JIT compiler ------------ -The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC, -ARM, ARM64, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT -compiler is transparently invoked for each attached filter from user space -or for internal kernel users if it has been previously enabled by root: +The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, +PowerPC, ARM, ARM64, MIPS, RISC-V and s390 and can be enabled through +CONFIG_BPF_JIT. The JIT compiler is transparently invoked for each +attached filter from user space or for internal kernel users if it has +been previously enabled by root: echo 1 > /proc/sys/net/core/bpf_jit_enable @@ -603,9 +604,10 @@ got from bpf_prog_create(), and 'ctx' the given context (e.g. skb pointer). All constraints and restrictions from bpf_check_classic() apply before a conversion to the new layout is being done behind the scenes! -Currently, the classic BPF format is being used for JITing on most 32-bit -architectures, whereas x86-64, aarch64, s390x, powerpc64, sparc64, arm32 perform -JIT compilation from eBPF instruction set. +Currently, the classic BPF format is being used for JITing on most +32-bit architectures, whereas x86-64, aarch64, s390x, powerpc64, +sparc64, arm32, riscv (RV64G) perform JIT compilation from eBPF +instruction set. Some core changes of the new internal format: