]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: Introduce helper bpf_get_branch_snapshot
authorSong Liu <songliubraving@fb.com>
Fri, 10 Sep 2021 18:33:51 +0000 (11:33 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 13 Sep 2021 17:53:50 +0000 (10:53 -0700)
commit8dca6b0d0d74beae784a43e3cc998bb9c39b5a52
tree3c3230ddfc3a5e7a03b30614b3da5aa2cc6cfe86
parentef9cf233f88e2a501c84bfc3745304c7621b3700
bpf: Introduce helper bpf_get_branch_snapshot

Introduce bpf_get_branch_snapshot(), which allows tracing pogram to get
branch trace from hardware (e.g. Intel LBR). To use the feature, the
user need to create perf_event with proper branch_record filtering
on each cpu, and then calls bpf_get_branch_snapshot in the bpf function.
On Intel CPUs, VLBR event (raw event 0x1b00) can be use for this.

Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210910183352.3151445-3-songliubraving@fb.com
include/uapi/linux/bpf.h
kernel/bpf/trampoline.c
kernel/trace/bpf_trace.c
tools/include/uapi/linux/bpf.h