[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180725201122.h7ostqw3qtfvz7sn@kafai-mbp.dhcp.thefacebook.com>
Date: Wed, 25 Jul 2018 13:11:22 -0700
From: Martin KaFai Lau <kafai@...com>
To: Taeung Song <treeze.taeung@...il.com>,
Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
CC: Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>, <netdev@...r.kernel.org>,
Thomas Girard <thomas.g.girard@...e.fr>,
Martin Cermak <mcermak@...hat.com>,
<linux-kernel@...r.kernel.org>, <acme@...nel.org>
Subject: Re: pahole + BTF was: Re: [Question] bpf: about a new
'tools/bpf/bpf_dwarf2btf'
On Thu, Jul 26, 2018 at 04:21:31AM +0900, Taeung Song wrote:
>
>
> On 07/26/2018 03:27 AM, Taeung Song wrote:
> > Hi Arnaldo,
> >
> > On 07/26/2018 02:52 AM, Arnaldo Carvalho de Melo wrote:
> > > Em Thu, Jul 26, 2018 at 02:23:32AM +0900, Taeung Song escreveu:
> > > > Hi,
> > > >
> > > > Building bpf programs with .BTF section,
> > > > I thought it'd be better to convert dwarf info to .BTF by
> > > > a new tool such as 'tools/bpf/bpf_dwarf2btf' instead of pahole
> > > > in the future.
> > > > Currently for bpf binary that have .BTF section,
> > > > we need to use pahole from https://github.com/iamkafai/pahole/tree/btf
> > > > with the command line such as "pahole -J bpf_prog.o".
> > > > I think it is great but if implementing new 'bpf_dwarf2btf'
> > > > (dwarf parsing + btf encoder code written by Martin KaFai Lau on
> > > > the pahole project i.e. btf.h, btf_encoder.c, btf_encoder.h,
> > > > libbtf.c, libbtf.h),
> > > > BPF developers would more easily use functionalities based on BTF.
> > >
> > > What would be easier exactly? Not having to install a package but build
> > > it from the kernel sources?
> > >
> > > Many kernel developers already have pahole installed for other uses, so
> > > no need to install anything.
> > >
> >
> > Understood, but I think there are many non-kernel developers
> > developing BPF programs and they mightn't have or use pahole.
> >
> > So, if providing the 'dwarf2btf' feature on tools/bpf or tools/bpf/bpftool,
> > non-kernel developers can also more easily build bpf prog with .BPF, no ?
Some quick thoughts,
IMO, I suspect if it is in the distro's pahole package, it should be easy
enough for kernel and non kernel developer to install.
BTF usage is still evolving, we might re-evaluate going forward but at this
point I think leveraging pahole's existing capability is a good option.
> >
>
> Or, if tools/lib/bpf/ have the 'dwarf2btf' feature,
> I think BPF developers can just use bpf programs that have dwarf info
> after compiling with clang '-g' and llc '-mattr=dwarfris', even though not
> using pahole.
> Isn't it good way ?
>
> > > BTW, Daniel, I just pushed to pahole's main repository at:
> > >
> > > git://git.kernel.org/pub/scm/devel/pahole/pahole.git
> > >
> > > with the Martin's BTF patch, so no need to pull from the github one,
> > > I'll tag v1.12 and announce the release so that distro package
> > > maintainers can update their packages.
Awesome! Thanks, Arnaldo!
- Martin
Powered by blists - more mailing lists