On Mon, Mar 25, 2019 at 8:59 AM Alexei Starovoitov <ast@xxxxxx> wrote: > > On 3/15/19 1:17 PM, Andrii Nakryiko wrote: > > This patch adds new config option to trigger generation of BTF type > > information from DWARF debuginfo for vmlinux and kernel modules through > > pahole, which in turn relies on libbpf for btf_dedup() algorithm. > > > > The intent is to record compact type information of all types used > > inside kernel, including all the structs/unions/typedefs/etc. This > > enables BPF's compile-once-run-everywhere ([0]) approach, in which > > tracing programs that are inspecting kernel's internal data (e.g., > > struct task_struct) can be compiled on a system running some kernel > > version, but would be possible to run on other kernel versions (and > > configurations) without recompilation, even if the layout of structs > > changed and/or some of the fields were added, removed, or renamed. > > > > This is only possible if BPF loader can get kernel type info to adjust > > all the offsets correctly. This patch is a first time in this direction, > > making sure that BTF type info is part of Linux kernel image in > > non-loadable ELF section. > > > > BTF deduplication ([1]) algorithm typically provides 100x savings > > compared to DWARF data, so resulting .BTF section is not big as is > > typically about 2MB in size. > > > > [0] http://vger.kernel.org/lpc-bpf2018.html#session-2 > > [1] https://facebookmicrosites.github.io/bpf/blog/2018/11/14/btf-enhancement.html > > > > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > Masahiro, > > could you please review this patch? > It's been pending for 10 days! Masahiro, Ping!