[PATCH v3 dwarves 0/5] btf_encoder: implement shared elf_functions table

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

 



v3 of the patchset fixes a couple of bugs and addresses feedback.

Notable changes in comparison to v2:

* use proper interface from stdatomic.h for atomic operations in
  btf_encoder__find_function()
* simplify btf_encoder__add_saved_funcs(), because actually we don't
  need to accumulate gathered elf_function states there, we only need
  to determine if a function should be added to BTF
* fix segfault in a case when the number of btf encoders is less than
  the number of threads
* correctly clean up elf_functions->entries in
  elf_functions__collect() when no functions are present in the Elf
* correctly clean up elf_functions_list at the end of
  btf_encoder__encode()
* remove post_cus__load_module() hook as it was unused
* remove btf_encoders__merge() as it is redundant

v2: https://lore.kernel.org/dwarves/20241009233520.989453-1-ihor.solodrai@xxxxx/
v1: https://lore.kernel.org/dwarves/20241004051347.41143-1-ihor.solodrai@xxxxx/

Ihor Solodrai (5):
  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: store a list of elf_function per function name
  btf_encoder: switch to shared elf_functions table

 btf_encoder.c  | 387 +++++++++++++++++++++++++++++++++----------------
 btf_encoder.h  |   3 +
 dwarf_loader.c |  14 +-
 dwarves.h      |  11 +-
 pahole.c       |  12 +-
 5 files changed, 292 insertions(+), 135 deletions(-)

-- 
2.43.0







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

  Powered by Linux