On Mon, 16 Dec 2019 at 16:09, Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > On 12/16/19 10:13 AM, Björn Töpel wrote: > > 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 <bjorn.topel@xxxxxxxxx> > > --- > > 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.