This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/7] Disable lazy tlsdesc on aarch64 and arm


Reorganized the aarch64 patches a bit and added patches for arm too.

The reason behind this change is the data race BZ #18034 on aarch64
and equivalent BZ #18572 on arm.  The aarch64 bug was fixed by adding
synchronization but that causes significant performance regression
of tls access. Lazy initialization of tlsdesc was never justified,
so i'm proposing to remove it on weakly ordered memory architectures.
(For consistency i think it should be removed on x86 too, but i don't
have patches for that.)

Szabolcs Nagy (7):
  Mark lazy tlsdesc helper functions unused to avoid warnings
  aarch64: Disable lazy symbol binding of TLSDESC
  aarch64: Remove barriers from TLS descriptor functions
  [BZ #17078] arm: remove prelinker support for R_ARM_TLS_DESC
  [BZ #18572] arm: Disable lazy initialization of tlsdesc entries
  arm: Remove unnecessary volatile qualifier
  arm: Remove lazy tlsdesc initialization related code

 elf/tlsdeschtab.h            |   2 +
 sysdeps/aarch64/dl-machine.h |  23 +++--
 sysdeps/aarch64/dl-tlsdesc.S | 203 -------------------------------------------
 sysdeps/aarch64/dl-tlsdesc.h |   9 --
 sysdeps/aarch64/tlsdesc.c    | 127 +--------------------------
 sysdeps/arm/dl-machine.h     |  59 ++++---------
 sysdeps/arm/dl-tlsdesc.S     |  84 ------------------
 sysdeps/arm/dl-tlsdesc.h     |   4 +-
 sysdeps/arm/tlsdesc.c        | 119 +------------------------
 9 files changed, 35 insertions(+), 595 deletions(-)

-- 
2.11.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]