This series includes v2 of 4 lock removal patches plus additional patches that add valgrind annotations to atomic operations. This prevents helgrind false positives during testing.
The final patch implements lock-free hash table lookups that also incorporates valgrind annotations. Aaron Merey (8): configure.ac: Add missing AC_DEFINE for USE_VG_ANNOTATIONS lib/dynamicsizehash_concurrent.c: Add valgrind annotations [v2] lib/locks.h: Add atomic load/store macros [v2] elf_getscn.c: Remove locking from hotpath [v2] gelf_getshdr.c, elfNN_getshdr.c: Remove hotpath locks elf32_offscn.c: Use atomic_load_acquire for Elf_ScnList fields [v2] gelf_getsymshndx.c: Remove locking lib/dynamicsizehash_concurrent.c: Implement lock-free lookups configure.ac | 9 +- lib/dynamicsizehash_concurrent.c | 125 ++++++++++++++++---- lib/dynamicsizehash_concurrent.h | 5 +- lib/locks.h | 40 +++++++ libdw/libdwP.h | 16 +-- libdw/libdw_alloc.c | 6 - libdwfl_stacktrace/dwflst_process_tracker.c | 6 +- libelf/elf32_getshdr.c | 25 ++-- libelf/elf32_offscn.c | 5 +- libelf/elf_getscn.c | 58 +++++---- libelf/gelf_getshdr.c | 33 ++++-- libelf/gelf_getsymshndx.c | 11 +- 12 files changed, 233 insertions(+), 106 deletions(-) -- 2.55.0
