Thread (32 messages) 32 messages, 5 authors, 2020-02-03

Re: [PATCH bpf-next v2 6/9] riscv, bpf: provide RISC-V specific JIT image alloc/free

From: Björn Töpel <hidden>
Date: 2019-12-18 06:23:50
Also in: bpf, linux-riscv

On Mon, 16 Dec 2019 at 16:09, Daniel Borkmann [off-list ref] wrote:
On 12/16/19 10:13 AM, Björn Töpel wrote:
quoted
This commit makes sure that the JIT images is kept close to the kernel
text, so BPF calls can use relative calling with auipc/jalr or jal
instead of loading the full 64-bit address and jalr.

The BPF JIT image region is 128 MB before the kernel text.

Signed-off-by: Björn Töpel <redacted>
---
  arch/riscv/include/asm/pgtable.h |  4 ++++
  arch/riscv/net/bpf_jit_comp.c    | 13 +++++++++++++
  2 files changed, 17 insertions(+)
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 7ff0ed4f292e..cc3f49415620 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -404,6 +404,10 @@ static inline int ptep_clear_flush_young(struct vm_area_struct *vma,
  #define VMALLOC_END      (PAGE_OFFSET - 1)
  #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)

+#define BPF_JIT_REGION_SIZE  (SZ_128M)
+#define BPF_JIT_REGION_START (PAGE_OFFSET - BPF_JIT_REGION_SIZE)
+#define BPF_JIT_REGION_END   (VMALLOC_END)
+
Series looks good to me, thanks; I'd like to get an ACK from Palmer/others on this one.
Palmer/Paul/Albert, any thoughts/input? I can respin the the series
w/o the call optimizations (excluding this patch and the next), but
I'd prefer not given it's a nice speed/clean up for calls.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help