lkml.org 
[lkml]   [2022]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH RESEND bpf-next 0/4] Support bpf trampoline for RV64
    Date
    BPF trampoline is the critical infrastructure of the bpf
    subsystem, acting as a mediator between kernel functions
    and BPF programs. Numerous important features, such as
    using ebpf program for zero overhead kernel introspection,
    rely on this key component. We can't wait to support bpf
    trampoline on RV64. The implementation of bpf trampoline
    was closely to x86 and arm64 for future development.

    As most of riscv cpu support unaligned memory accesses,
    we temporarily use patch [1] to facilitate testing. The
    test results are as follow, and test_verifier with no
    new failure ceses.

    - fexit_test:OK
    - fentry_test:OK
    - fentry_fexit:OK
    - fexit_stress:OK
    - fexit_bpf2bpf:OK
    - dummy_st_ops:OK
    - modify_return:OK
    - get_func_ip_test:OK
    - get_func_args_test:OK
    - trampoline_count:OK

    [1] https://lore.kernel.org/linux-riscv/20210916130855.4054926-2-chenhuang5@huawei.com/

    Pu Lehui (4):
    bpf: Rollback to text_poke when arch not supported ftrace direct call
    riscv, bpf: Factor out emit_call for kernel and bpf context
    riscv, bpf: Add bpf_arch_text_poke support for RV64
    riscv, bpf: Add bpf trampoline support for RV64

    arch/riscv/net/bpf_jit.h | 5 +
    arch/riscv/net/bpf_jit_comp64.c | 483 ++++++++++++++++++++++++++++++--
    kernel/bpf/trampoline.c | 8 +-
    3 files changed, 471 insertions(+), 25 deletions(-)

    --
    2.25.1

    \
     
     \ /
      Last update: 2023-03-26 23:15    [W:5.255 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site