On Wed, Nov 11, 2020 at 4:38 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > > Em Wed, Nov 11, 2020 at 09:37:38AM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Wed, Nov 11, 2020 at 12:26:29PM +0100, Daniel Borkmann escreveu: > > > On 11/10/20 4:40 PM, Jiri Olsa wrote: > > > > With upcoming changes to pahole, that change the way how and > > > > which kernel functions are stored in BTF data, we need a way > > > > to recognize iterator functions. > > > > > > > > Iterator functions need to be in BTF data, but have no real > > > > body and are currently placed in .init.text section, so they > > > > are freed after kernel init and are filtered out of BTF data > > > > because of that. > > > > > > > > The solution is to place these functions under new section: > > > > .init.bpf.preserve_type > > > > > > > > And add 2 new symbols to mark that area: > > > > __init_bpf_preserve_type_begin > > > > __init_bpf_preserve_type_end > > > > > > > > The code in pahole responsible for picking up the functions will > > > > be able to recognize functions from this section and add them to > > > > the BTF data and filter out all other .init.text functions. > > > > > > > > Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > > > Suggested-by: Yonghong Song <yhs@xxxxxx> > > > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > > > > > > LGTM, applied, thanks! Also added a reference to the pahole commit > > > > Applied to what branch? I'm trying to test it now :-) > > Nevermind, bpf/master, I was looking at bpf-next/master. I've dropped this patch from bpf tree. I think we need to agree on the whole approach first. This filtering based on section name with special handling in pahole doesn't feel like solid long term direction. I think we have to brainstorm more on it. I'm not saying we will not go back to a special section approach. This revert is only buying us time to discuss what's the right path here. Mainly I reverted to unbreak bpf tree CI which currently fails due to two tests in test_progs failing with the latest pahole and this patch.