Re: BPF program metadata

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

 



On Tue, Aug 4, 2020 at 12:42 PM <sdf@xxxxxxxxxx> wrote:
>
> On 07/29, sdf@xxxxxxxxxx wrote:
> > As discussed in
> > https://docs.google.com/presentation/d/1A9Anx8JPHl_pK1aXy8hlxs3V5pkrKwHHtkPf_-HeYTc
> > during BPF office hours, we'd like to attach arbitrary auxiliary
> > metadata to the program, for example, the build timestamp or the commit
> > hash.
>
> > IIRC, the suggestion was to explore BTF and .BTF.ext section in
> > particular.
> > We've spent some time looking at the BTF encoding and BTF.ext section
> > and we don't see how we can put this data into .BTF.ext or even .BTF
> > without any kernel changes.
>
> > The reasoning (at least how we see it):
> > * .BTF.ext is just a container with func_info/line_info/relocation_info
> >    and libbpf extracts the data form this section and passes it to
> >    sys_bpf(BPF_PROG_LOAD); the important note is that it doesn't pass the
> >    whole container to the kernel, but passes the data that's been
> >    extracted from the appropriate sections
> > * .BTF can be used for metadata, but it looks like we'd have to add
> >    another BTF_INFO_KIND() to make it a less messy (YiFei, feel free to
> >    correct me)
>
> > So the question is: are we missing something? Is there some way to add
> > key=value metadata to BTF that doesn't involve a lot of kernel changes?
>
> > If the restrictions above are correct, should we go back to trying to
> > put this metadata into .data section (or maybe even the new .metadata
> > section)? The only missing piece of the puzzle in that case is the
> > ability to extend BPF_PROG_LOAD with a way to say 'hold this map
> > unconditionally'.
> Should we have a short discussion about that this Thu during the office
> hours?

Of course. That's what office hours are for.
Since google folks have trouble with zoom I've added google meets link
to the spreadsheet. Let's try it tomorrow.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux