On Tue, Oct 1, 2024 at 8:10 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > > On Fri, Sep 20, 2024 at 01:19:01AM -0700, Stephen Brennan wrote: > > Currently the "var" feature only encodes percpu variables. Add the > > ability to encode all global variables. > > > > This also drops the use of the symbol table to find variable names and > > compare them against DWARF names. We simply rely on the DWARF > > information to give us all the variables. > > I applied the three first patches to the next branch that soon will move > to master, but the last patch I think does too many things and ends up > being too big. > > For instance, you could have done the btf_encoder->skip_encoding_vars > transformation into a bitfield in a separate, prep patch, also you > mentions "this also drops the use of the symbol table", can this be made > a separate, prep patch? > > There was a conflict with some new options I added (--padding, > --padding_ge) and I fixed that up and made the series available in the > btf_global_vars branch, can you please go from there and split the last > patch into smaller chunks? > > Thanks for your work on this! I noticed that this is not the default, > i.e. one has to explicitely opt in to have the global variables encoded > in BTF, so that would be interesting to have spelled out in the chunked > out patch that introduces the feature, etc. We probably shouldn't enable this option in kernel build until we work out details of loading vmlinux BTF(s) through the kernel module. > > Also since we have it as a feature and can ask for global variables > using --btf_features=global_var, I don't think we need > --encode_btf_global_vars, right? > > That will also make the patch smaller, and even if it was required, that > would be something to have in a separate patch. > > - Arnaldo > > > Signed-off-by: Stephen Brennan <stephen.s.brennan@xxxxxxxxxx> > > Tested-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > > --- > > btf_encoder.c | 347 +++++++++++++++++++++------------------------ > > btf_encoder.h | 8 ++ > > dwarves.h | 1 + > > man-pages/pahole.1 | 8 +- > > pahole.c | 11 +- > > 5 files changed, 183 insertions(+), 192 deletions(-) > > [...]