Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
-
10.2.3-1, 10.2.3-2
Description
InnoDB atomics implementation is getting worse: 5.7 implementation is not maintainable. We should remove it and use atomics provided by server instead.
InnoDB is now full of meaningless memory barriers, these should be removed along with memory barriers implementation.
We should restore fixes for InnoDB rwlocks.
Mutexes should be cleaned up so that their code is readable. Also we should ensure that mutexes issue proper memory barriers.
NOTE: there're 4 mutex implementations in InnoDB: futex base, spin lock (never used), pthread/critical_section based, event based (default). We should consider removing 3 implementations and leaving only pthread/critical_section based solution.
Attachments
Issue Links
- causes
-
MDEV-22859 Possible hang in InnoDB rw_lock_lock_word_decr()
- Closed
- relates to
-
MDEV-6113 merge 5.7 innodb
- Closed
-
MDEV-6654 Combine ib_mutex_t::waiters and ib_mutex_t::lock_word
- Closed
-
MDEV-14304 Unnecessary conditions in buf_page_get_gen()
- Closed
-
MDEV-18724 Replace buf_block_t::mutex with more std::atomic
- Closed