Re: [PATCH] btf: Add support for the floating-point types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2021-03-08 at 14:16 -0800, Andrii Nakryiko wrote:
> On Mon, Mar 8, 2021 at 5:02 AM Arnaldo Carvalho de Melo
> <arnaldo.melo@xxxxxxxxx> wrote:
> > 
> > Em Mon, Mar 08, 2021 at 04:02:58AM +0100, Ilya Leoshkevich
> > escreveu:
> > > On Sun, 2021-03-07 at 11:09 -0300, Arnaldo Carvalho de Melo
> > > wrote:
> > > > Adding Jiri to the CC list.
> > > > Em Sun, Mar 07, 2021 at 10:50:19AM -0300, Arnaldo Carvalho de
> > > > Melo escreveu:
> > > > > Em Sun, Mar 07, 2021 at 10:44:21AM -0300, Arnaldo Carvalho de
> > > > > Melo escreveu:
> > > > > Now will build a kernel with this new version, reboot, then
> > > > > push
> > > > > publicly.
> > 
> > > > So now trying to build v5.12-rc2 with pahole supporting
> > > > BTF_KIND_FLOAT:
> > 
> > > >   AS      .tmp_vmlinux.kallsyms2.S
> > > >   LD      vmlinux
> > > >   BTFIDS  vmlinux
> > > > FAILED: load BTF from vmlinux: Invalid argument
> > > > make[1]: *** [/home/acme/git/linux/Makefile:1197: vmlinux]
> > > > Error 255
> > > > make[1]: Leaving directory '/home/acme/git/build/v5.12.0-rc2'
> > > > make: *** [Makefile:215: __sub-make] Error 2
> > > > [acme@five linux]$
> > 
> > > > [acme@five linux]$ egrep BTF\|DWARF  ../build/v5.12.0-
> > > > rc2/.config
> > > > CONFIG_VIDEO_SONY_BTF_MPX=m
> > > > CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> > > > # CONFIG_DEBUG_INFO_DWARF4 is not set
> > > > CONFIG_DEBUG_INFO_BTF=y
> > > > CONFIG_PAHOLE_HAS_SPLIT_BTF=y
> > > > CONFIG_DEBUG_INFO_BTF_MODULES=y
> > 
> > > > Ideas?
> > 
> > > So v5.12-rc2 does not have this series yet:
> > 
> > > https://lore.kernel.org/bpf/20210226202256.116518-1-iii@xxxxxxxxxxxxx/
> > 
> > > pahole generates a BTF_KIND_FLOAT, but libbpf from v5.12-rc2
> > > doesn't
> > > know how to handle it and resolve_btfids fails.
> > 
> > > I guess this is the first time a new BTF kind is added? I checked
> > > the
> > > history, and kernel v5.2, which introduced DEBUG_INFO_BTF,
> > > already had
> > > BTF_KIND_DATASEC.
> > 
> > > So should I add a command-line option to pahole, which would tell
> > > it
> > > the desired libbpf compatibility level?
> > 
> > Yes, that would be best, some sort of capability querying and then
> > a
> > decision about using the new feature.
> 
> pahole could be used to add .BTF post-factum to vmlinux image of a
> very old kernel, even the one that doesn't support BTF at all. So
> whatever detection system is going to be added, we should make it
> easy
> to turn it off.

I'd rather not have detection at all. Instead, pahole should encode
floats as ints by default (that's not fully correct, but that's the way
it is today). Then we can pass --libbpf-compat=0.4.0 in link-vmlinux.sh
in the newer kernels, which would turn on the new feature.




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux