Currently we use passive spinning with internal_sched_yield to wait
in __cxa_guard_acquire/pthread_once. Passive spinning tends to degrade
ungracefully under high load. Use FutexWait/Wake instead.
Depends on D107359.
Paths
| Differential D107360
tsan: don't use spinning in __cxa_guard_acquire/pthread_once ClosedPublic Authored by dvyukov on Aug 3 2021, 8:21 AM.
Details Summary Currently we use passive spinning with internal_sched_yield to wait Depends on D107359.
Diff Detail
Event Timelinevitalybuka added inline comments. This revision is now accepted and ready to land.Aug 3 2021, 10:01 AM
This revision was landed with ongoing or failed builds.Aug 4 2021, 4:56 AM Closed by commit rGe3f4c63e78b1: tsan: don't use spinning in __cxa_guard_acquire/pthread_once (authored by dvyukov). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 363750 compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
|
static?