[PATCH v3 0/6] maps memory improvements and fixes

From: Ian Rogers
Date: Fri Feb 09 2024 - 22:18:08 EST


First 6 patches from:
https://lore.kernel.org/lkml/20240202061532.1939474-1-irogers@xxxxxxxxxx/

v3. Fix latent concurrent modification bug in maps__for_each_map.
v2. Fix NO_LIBUNWIND=1 build issue.

Ian Rogers (6):
perf maps: Switch from rbtree to lazily sorted array for addresses
perf maps: Get map before returning in maps__find
perf maps: Get map before returning in maps__find_by_name
perf maps: Get map before returning in maps__find_next_entry
perf maps: Hide maps internals
perf maps: Locking tidy up of nr_maps

tools/perf/arch/x86/tests/dwarf-unwind.c | 1 +
tools/perf/tests/maps.c | 3 +
tools/perf/tests/thread-maps-share.c | 8 +-
tools/perf/tests/vmlinux-kallsyms.c | 10 +-
tools/perf/util/bpf-event.c | 1 +
tools/perf/util/callchain.c | 2 +-
tools/perf/util/event.c | 4 +-
tools/perf/util/machine.c | 34 +-
tools/perf/util/map.c | 1 +
tools/perf/util/maps.c | 1302 ++++++++++++++--------
tools/perf/util/maps.h | 65 +-
tools/perf/util/probe-event.c | 1 +
tools/perf/util/symbol-elf.c | 4 +-
tools/perf/util/symbol.c | 31 +-
tools/perf/util/thread.c | 2 +-
tools/perf/util/unwind-libdw.c | 2 +-
tools/perf/util/unwind-libunwind-local.c | 2 +-
tools/perf/util/unwind-libunwind.c | 7 +-
18 files changed, 906 insertions(+), 574 deletions(-)

--
2.43.0.687.g38aa6559b0-goog