Re: [PATCH bpf-next v2 6/9] riscv, bpf: provide RISC-V specific JIT image alloc/free
From: Paul Walmsley <hidden>
Date: 2020-01-04 01:32:05
Also in:
bpf, linux-riscv
On Wed, 18 Dec 2019, Björn Töpel wrote:
On Mon, 16 Dec 2019 at 16:09, Daniel Borkmann [off-list ref] wrote:quoted
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.
Looks like Palmer's already reviewed it. One additional request: could you update the VM layout debugging messages in arch/riscv/mm/init.c to include this new area? thanks, - Paul