On Thu, Mar 21, 2024 at 11:04:59AM -0700, Andrii Nakryiko wrote: > perf_snapshot_branch_stack is set up in an architecture-agnostic way, so > there is no reason for BPF subsystem to keep track of which > architectures do support LBR or not. E.g., it looks like ARM64 might soon > get support for BRBE ([0]), which (with proper integration) should be > possible to utilize using this BPF helper. > > perf_snapshot_branch_stack static call will point to > __static_call_return0() by default, which just returns zero, which will > lead to -ENOENT, as expected. So no need to guard anything here. > > [0] https://lore.kernel.org/linux-arm-kernel/20240125094119.2542332-1-anshuman.khandual@xxxxxxx/ > > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> jirka > --- > kernel/trace/bpf_trace.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c > index 434e3ece6688..6d000332b17b 100644 > --- a/kernel/trace/bpf_trace.c > +++ b/kernel/trace/bpf_trace.c > @@ -1182,9 +1182,6 @@ static const struct bpf_func_proto bpf_get_attach_cookie_proto_tracing = { > > BPF_CALL_3(bpf_get_branch_snapshot, void *, buf, u32, size, u64, flags) > { > -#ifndef CONFIG_X86 > - return -ENOENT; > -#else > static const u32 br_entry_size = sizeof(struct perf_branch_entry); > u32 entry_cnt = size / br_entry_size; > > @@ -1197,7 +1194,6 @@ BPF_CALL_3(bpf_get_branch_snapshot, void *, buf, u32, size, u64, flags) > return -ENOENT; > > return entry_cnt * br_entry_size; > -#endif > } > > static const struct bpf_func_proto bpf_get_branch_snapshot_proto = { > -- > 2.43.0 > >