> Add the runtime side of delivering the vmlinux BTF as a module: with
> CONFIG_DEBUG_INFO_BTF=m the BTF is carried by a module named btf_vmlinux
> and installed by the BTF module notifier when it loads.  Nothing in this
> patch is reachable yet: CONFIG_DEBUG_INFO_BTF is still a bool and every
> new path is under IS_MODULE(CONFIG_DEBUG_INFO_BTF); the kbuild side and
> the Kconfig change follow.
> 
> With CONFIG_DEBUG_INFO_BTF=y the vmlinux BTF, 5.4 MiB on x86-64 with a
> distribution config, is part of the kernel image and resident from boot
> whether anything uses it or not.  Most systems never do.  Carrying it in
> a module that is loaded on first use makes the memory a cost of using
> BTF rather than of having a kernel that supports it.
> 
> btf_vmlinux_data() hands out the raw vmlinux BTF: from __start_BTF with
> =y, or with =m from a vmalloc_user() copy that the notifier makes when
> [ ... ]
> maps the probed file.  Before the BTF is loaded mmap() fails, and libbpf,
> which tries mmap() first, falls back to read(); afterwards it maps the
> vmalloc_user() copy with remap_vmalloc_range().
> 
> Signed-off-by: Jay Wang <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=4


Reply via email to