Re: [RFC PATCH 0/9] pahole: shared ELF and faster reproducible BTF encoding

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

 



On Monday, December 2nd, 2024 at 5:55 AM, Jiri Olsa <olsajiri@xxxxxxxxx> wrote:

> 
> 
> On Thu, Nov 28, 2024 at 01:23:44AM +0000, Ihor Solodrai wrote:
> 
> SNIP
> 
> > Test results for this patch series:
> > 
> > 1: Validation of BTF encoding of functions; this may take some time: Ok
> > 2: Default BTF on a system without BTF: Ok
> > 3: Flexible arrays accounting: WARNING: still unsuported BTF_KIND_DECL_TAG(bpf_fastcall) for bpf_cast_to_kern_ctx already with attribute (bpf_kfunc), ignoring
> > WARNING: still unsuported BTF_KIND_DECL_TAG(bpf_fastcall) for bpf_rdonly_cast already with attribute (bpf_kfunc), ignoring
> > pahole: type 'nft_pipapo_elem' not found
> > pahole: type 'ip6t_standard' not found
> > pahole: type 'ip6t_error' not found
> > pahole: type 'nft_rbtree_elem' not found
> > pahole: type 'nft_rule_dp_last' not found
> > pahole: type 'nft_bitmap_elem' not found
> > pahole: type 'fuse_direntplus' not found
> > pahole: type 'ipt_standard' not found
> > pahole: type 'ipt_error' not found
> > pahole: type 'tls_rec' not found
> > pahole: type 'nft_rhash_elem' not found
> > pahole: type 'nft_hash_elem' not found
> > Ok
> > 4: Pretty printing of files using DWARF type information: Ok
> > 5: Parallel reproducible DWARF Loading/Serial BTF encoding: Ok
> 
> 
> hi,
> when trying selftests with this change, I'm getting wrong .BTF
> on bpf selftest bpf_testmod.ko module
> 
> $ bpftool btf dump file ./bpf_testmod.ko
> Error: failed to load BTF from ./bpf_testmod.ko: Invalid argument

Hi Jiri, thank you for testing.

I think the reason for this failure is that changes in the last patch
of the series [1] don't handle correctly a situation when the number
of CUs is lesser than the number of jobs. I was too focused on trying
to speed up vmlinux encoding.

I am going to try implementing a clear queueing interface between
dwarf_loader and pahole_stealer. Hopefully it will make it harder to
introduce bugs like this.

I've started working on the v2 of this series which I hope to submit
sometime next week.

[1] https://lore.kernel.org/dwarves/20241128012341.4081072-10-ihor.solodrai@xxxxx/

> 
> jirka
> 
> > Alan Maguire (3):
> > btf_encoder: simplify function encoding
> > btf_encoder: store,use section-relative addresses in ELF function
> > representation
> > btf_encoder: separate elf function, saved function representations
> > 
> > Ihor Solodrai (6):
> > dwarf_loader: introduce pre_load_module hook to conf_load
> > btf_encoder: introduce elf_functions struct type
> > btf_encoder: collect elf_functions in btf_encoder__pre_load_module
> > btf_encoder: switch to shared elf_functions table
> > btf_encoder: introduce btf_encoding_context
> > pahole: faster reproducible BTF encoding
> > 
> > btf_encoder.c | 661 ++++++++++++++++++++++++++++++-------------------
> > btf_encoder.h | 6 +
> > dwarf_loader.c | 18 +-
> > dwarves.c | 47 ++--
> > dwarves.h | 16 +-
> > pahole.c | 265 +++++++++-----------
> > 6 files changed, 567 insertions(+), 446 deletions(-)
> > 
> > --
> > 2.47.0





[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