diff options
author | Daniel Xu <dxu@dxuuu.xyz> | 2020-02-17 19:04:31 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-02-19 14:37:36 -0800 |
commit | fff7b64355eac6e29b50229ad1512315bc04b44e (patch) | |
tree | ca8d642f593dee81cfdf303d8675ff5754dcb393 /tools/include/uapi/linux/bpf.h | |
parent | 2f14b2d9dd80427a1c07451b623afb8b85efef21 (diff) | |
download | lwn-fff7b64355eac6e29b50229ad1512315bc04b44e.tar.gz lwn-fff7b64355eac6e29b50229ad1512315bc04b44e.zip |
bpf: Add bpf_read_branch_records() helper
Branch records are a CPU feature that can be configured to record
certain branches that are taken during code execution. This data is
particularly interesting for profile guided optimizations. perf has had
branch record support for a while but the data collection can be a bit
coarse grained.
We (Facebook) have seen in experiments that associating metadata with
branch records can improve results (after postprocessing). We generally
use bpf_probe_read_*() to get metadata out of userspace. That's why bpf
support for branch records is useful.
Aside from this particular use case, having branch data available to bpf
progs can be useful to get stack traces out of userspace applications
that omit frame pointers.
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200218030432.4600-2-dxu@dxuuu.xyz
Diffstat (limited to 'tools/include/uapi/linux/bpf.h')
0 files changed, 0 insertions, 0 deletions