[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2509f619-15a4-84d6-d199-12e4526bf30e@huaweicloud.com>
Date: Tue, 20 Dec 2022 10:16:43 +0800
From: Pu Lehui <pulehui@...weicloud.com>
To: bpf@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org
Cc: Björn Töpel <bjorn@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Song Liu <song@...nel.org>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...gle.com>,
Hao Luo <haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Pu Lehui <pulehui@...wei.com>
Subject: Re: [RFC PATCH bpf-next 0/4] Support bpf trampoline for RV64
On 2022/12/19 21:37, Pu Lehui wrote:
> 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 | 484 ++++++++++++++++++++++++++++++--
> kernel/bpf/trampoline.c | 8 +-
> 3 files changed, 472 insertions(+), 25 deletions(-)
>
sorry, small problem of this patchset, have been resend.
Powered by blists - more mailing lists