Marko Mäkelä
a635c40648
MDEV-27774 Reduce scalability bottlenecks in mtr_t::commit()
...
A prominent bottleneck in mtr_t::commit() is log_sys.mutex between
log_sys.append_prepare() and log_close().
User-visible change: The minimum innodb_log_file_size will be
increased from 1MiB to 4MiB so that some conditions can be
trivially satisfied.
log_sys.latch (log_latch): Replaces log_sys.mutex and
log_sys.flush_order_mutex. Copying mtr_t::m_log to
log_sys.buf is protected by a shared log_sys.latch.
Writes from log_sys.buf to the file system will be protected
by an exclusive log_sys.latch.
log_sys.lsn_lock: Protects the allocation of log buffer
in log_sys.append_prepare().
sspin_lock: A simple spin lock, for log_sys.lsn_lock.
Thanks to Vladislav Vaintroub for suggesting this idea, and for
reviewing these changes.
mariadb-backup: Replace some use of log_sys.mutex with recv_sys.mutex.
buf_pool_t::insert_into_flush_list(): Implement sorting of flush_list
because ordering is otherwise no longer guaranteed. Ordering by LSN
is needed for the proper operation of redo log checkpoints.
log_sys.append_prepare(): Advance log_sys.lsn and log_sys.buf_free by
the length, and return the old values. Also increment write_to_buf,
which was previously done in log_close().
mtr_t::finish_write(): Obtain the buffer pointer from
log_sys.append_prepare().
log_sys.buf_free: Make the field Atomic_relaxed,
to simplify log_flush_margin(). Use only loads and stores
to avoid costly read-modify-write atomic operations.
buf_pool.flush_list_requests: Replaces
export_vars.innodb_buffer_pool_write_requests
and srv_stats.buf_pool_write_requests.
Protected by buf_pool.flush_list_mutex.
buf_pool_t::insert_into_flush_list(): Do not invoke page_cleaner_wakeup().
Let the caller do that after a batch of calls.
recv_recover_page(): Invoke a minimal part of
buf_pool.insert_into_flush_list().
ReleaseBlocks::modified: A number of pages added to buf_pool.flush_list.
ReleaseBlocks::operator(): Merge buf_flush_note_modification() here.
log_t::set_capacity(): Renamed from log_set_capacity().
2022-02-10 16:37:12 +02:00
..
2020-03-10 19:24:22 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2017-02-10 06:30:42 -05:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2017-02-10 06:30:42 -05:00
2016-10-05 01:11:08 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-02-05 17:22:26 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2014-05-06 23:20:50 +02:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2016-10-05 01:11:08 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-04-08 17:19:51 +05:30
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2016-10-05 01:11:08 +03:00
2016-10-05 01:11:08 +03:00
2016-10-05 01:11:08 +03:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2016-10-05 01:11:08 +03:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2016-10-05 01:11:08 +03:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2016-10-05 01:11:08 +03:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2014-05-06 23:20:50 +02:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2015-08-03 13:05:40 +02:00
2020-03-10 19:24:23 +01:00
2022-02-04 14:11:46 +01:00
2015-05-07 20:45:46 +04:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-10 17:16:50 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-04-08 17:19:51 +05:30
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:50 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2021-09-10 17:16:18 +03:00
2021-09-11 17:55:27 +03:00
2021-09-10 17:16:18 +03:00
2021-09-10 17:16:18 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-10 17:16:50 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2021-09-07 08:45:19 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-05-23 12:29:10 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-06-13 21:22:07 +02:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2021-05-26 09:47:28 +03:00
2020-03-14 09:51:36 +01:00
2020-04-08 06:09:42 +00:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-04-08 06:09:42 +00:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:22 +01:00
2021-05-19 06:48:36 +02:00
2021-01-15 13:43:05 +02:00
2020-03-10 19:24:23 +01:00
2020-03-14 09:51:36 +01:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-05-03 11:22:07 +02:00
2014-06-05 09:03:55 +02:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-07-22 08:20:10 +03:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:23 +01:00
2018-05-26 12:49:25 +03:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-05-03 11:22:07 +02:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2021-09-11 17:55:27 +03:00
2018-07-04 19:13:55 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-06-11 13:02:55 +02:00
2020-03-10 19:24:23 +01:00
2021-09-11 12:10:23 +02:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2021-05-03 11:22:07 +02:00
2021-03-05 08:25:53 +11:00
2014-05-06 23:20:50 +02:00
2021-03-05 08:25:53 +11:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:22 +01:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2019-12-11 21:39:26 +01:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-10-05 12:44:55 +05:30
2020-03-10 19:24:23 +01:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:23 +01:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-05-03 11:22:07 +02:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-05-03 11:22:07 +02:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:22 +01:00
2014-05-06 23:22:16 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2020-03-11 08:29:48 +02:00
2021-09-14 18:04:09 +03:00
2020-03-10 19:24:23 +01:00
2020-03-16 10:33:38 +01:00
2020-03-23 10:45:08 +01:00
2020-03-10 19:24:23 +01:00
2022-02-10 16:37:12 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2021-05-03 11:22:07 +02:00
2020-03-14 09:51:36 +01:00
2021-09-11 17:55:27 +03:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00
2016-07-28 15:52:12 +02:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2020-03-10 19:24:22 +01:00
2021-02-01 13:49:33 +01:00
2020-03-10 19:24:22 +01:00
2020-05-23 12:29:10 +03:00
2020-03-14 09:51:36 +01:00
2020-03-10 19:24:23 +01:00
2015-08-03 13:05:40 +02:00
2012-12-15 21:54:18 +01:00
2020-03-10 19:24:23 +01:00
2020-03-10 19:24:23 +01:00