Browse Source
Backport from 10.0:
Backport from 10.0:
MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64 This problem affects only debug builds on PPC64. There are at least two race conditions around rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit: - rw_lock_debug_waiters was loaded/stored without setting appropriate locks/memory barriers. - there is a gap between calls to os_event_reset() and os_event_wait() and in such case we're supposed to pass return value of the former to the latter. Fixed by replacing self-cooked spinlocks with system mutexes. These days system mutexes offer much better performance. OTOH performance is not that critical for debug builds.pull/73/head
6 changed files with 12 additions and 82 deletions
-
8storage/innobase/include/sync0rw.h
-
32storage/innobase/sync/sync0rw.c
-
7storage/innobase/sync/sync0sync.c
-
8storage/xtradb/include/sync0rw.h
-
32storage/xtradb/sync/sync0rw.c
-
7storage/xtradb/sync/sync0sync.c
Write
Preview
Loading…
Cancel
Save
Reference in new issue