Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2, 11.3
Description
MDEV-27774 made it possible to for multiple mtr_t::commit() to write to log_sys.buf concurrently, by replacing the InnoDB log_sys.mutex with log_sys.latch and log_sys.lsn_lock. The latter appears to be a performance bottleneck.
Because we need to keep multiple log_sys data members consistent with each other, we cannot simply invoke std::atomic::fetch_add and std::atomic::compare_exchange_weak on log_sys.buf_free to achieve a similar result. But, we could try to fit more data members in the same single cache line with log_sys.latch.
Attachments
Issue Links
- is caused by
-
MDEV-27774 Reduce scalability bottlenecks in mtr_t::commit()
- Closed
- relates to
-
MDEV-27866 Switching log_sys.latch to use spin based variant
- Closed
-
MDEV-33515 log_sys.lsn_lock causes excessive context switching
- Closed