diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2019-10-29 22:37:12 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2019-11-15 18:09:30 +0100 |
commit | 5e62b6a5e06eb02cbde1e34e95e26f42d87fce02 (patch) | |
tree | e20f8c1d9cd084ae1b8a4d2bd33eec4027d9fa90 /storage/innobase/include/buf0flu.h | |
parent | 00ee8d85c925846acc76df2a6fc7c67a062c2ea6 (diff) | |
download | mariadb-git-5e62b6a5e06eb02cbde1e34e95e26f42d87fce02.tar.gz |
MDEV-16264 Use threadpool for Innodb background work.
Almost all threads have gone
- the "ticking" threads, that sleep a while then do some work)
(srv_monitor_thread, srv_error_monitor_thread, srv_master_thread)
were replaced with timers. Some timers are periodic,
e.g the "master" timer.
- The btr_defragment_thread is also replaced by a timer , which
reschedules it self when current defragment "item" needs throttling
- the buf_resize_thread and buf_dump_threads are substitutes with tasks
Ditto with page cleaner workers.
- purge workers threads are not tasks as well, and purge cleaner
coordinator is a combination of a task and timer.
- All AIO is outsourced to tpool, Innodb just calls thread_pool::submit_io()
and provides the callback.
- The srv_slot_t was removed, and innodb_debug_sync used in purge
is currently not working, and needs reimplementation.
Diffstat (limited to 'storage/innobase/include/buf0flu.h')
-rw-r--r-- | storage/innobase/include/buf0flu.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/storage/innobase/include/buf0flu.h b/storage/innobase/include/buf0flu.h index 3753cb05651..ea26dbe9106 100644 --- a/storage/innobase/include/buf0flu.h +++ b/storage/innobase/include/buf0flu.h @@ -269,9 +269,7 @@ buf_flush_free_flush_rbt(void); /********************************************************************//** Writes a flushable page asynchronously from the buffer pool to a file. -NOTE: in simulated aio we must call -os_aio_simulated_wake_handler_threads after we have posted a batch of -writes! NOTE: buf_pool->mutex and buf_page_get_mutex(bpage) must be +NOTE: buf_pool->mutex and buf_page_get_mutex(bpage) must be held upon entering this function, and they will be released by this function. @return TRUE if page was flushed */ |