lkml.org 
[lkml]   [2022]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH bpf-next v2 0/4] Add ftrace direct call for arm64
From
Date
On 9/13/22 6:27 PM, Xu Kuohai wrote:
> This series adds ftrace direct call for arm64, which is required to attach
> bpf trampoline to fentry.
>
> Although there is no agreement on how to support ftrace direct call on arm64,
> no patch has been posted except the one I posted in [1], so this series
> continues the work of [1] with the addition of long jump support. Now ftrace
> direct call works regardless of the distance between the callsite and custom
> trampoline.
>
> [1] https://lore.kernel.org/bpf/20220518131638.3401509-2-xukuohai@huawei.com/
>
> v2:
> - Fix compile and runtime errors caused by ftrace_rec_arch_init
>
> v1: https://lore.kernel.org/bpf/20220913063146.74750-1-xukuohai@huaweicloud.com/
>
> Xu Kuohai (4):
> ftrace: Allow users to disable ftrace direct call
> arm64: ftrace: Support long jump for ftrace direct call
> arm64: ftrace: Add ftrace direct call support
> ftrace: Fix dead loop caused by direct call in ftrace selftest

Given there's just a tiny fraction touching BPF JIT and most are around core arm64,
it probably makes sense that this series goes via Catalin/Will through arm64 tree
instead of bpf-next if it looks good to them. Catalin/Will, thoughts (Ack + bpf-next
could work too, but I'd presume this just results in merge conflicts)?

> arch/arm64/Kconfig | 2 +
> arch/arm64/Makefile | 4 +
> arch/arm64/include/asm/ftrace.h | 35 ++++--
> arch/arm64/include/asm/patching.h | 2 +
> arch/arm64/include/asm/ptrace.h | 6 +-
> arch/arm64/kernel/asm-offsets.c | 1 +
> arch/arm64/kernel/entry-ftrace.S | 39 ++++--
> arch/arm64/kernel/ftrace.c | 198 ++++++++++++++++++++++++++++--
> arch/arm64/kernel/patching.c | 14 +++
> arch/arm64/net/bpf_jit_comp.c | 4 +
> include/linux/ftrace.h | 2 +
> kernel/trace/Kconfig | 7 +-
> kernel/trace/ftrace.c | 9 +-
> kernel/trace/trace_selftest.c | 2 +
> 14 files changed, 296 insertions(+), 29 deletions(-)

Thanks,
Daniel

\
 
 \ /
  Last update: 2022-09-22 20:02    [W:0.167 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site