mariadb/tpool
Marko Mäkelä 78c9a12c8f MDEV-32861 InnoDB hangs when running out of I/O slots
When the constant OS_AIO_N_PENDING_IOS_PER_THREAD is changed from 256 to 1
and the server is run with the minimum parameters
innodb_read_io_threads=1 and innodb_write_io_threads=2, two hangs
were observed.

tpool::cache<T>::put(T*): Ensure that get() in io_slots::acquire()
will be woken up when the cache previously was empty.

buf_pool_t::io_buf_t::reserve(): Schedule a possibly partial doublewrite
batch so that os_aio_wait_until_no_pending_writes() has a chance of
returning. Add a Boolean parameter and pass wait_for_reads=false inside
buf_page_decrypt_after_read(), because those calls will be executed
inside a read completion callback, and therefore
os_aio_wait_until_no_pending_reads() would block indefinitely.
2023-11-22 16:54:41 +02:00
..
aio_linux.cc Add missing include <cstdio> 2023-01-27 12:43:38 +11:00
aio_simulated.cc MDEV-27900: aio handle partial reads/writes 2022-03-12 09:47:53 +11:00
aio_win.cc MDEV-16264: Add threadpool library 2019-11-15 16:50:22 +01:00
CMakeLists.txt MDEV-16264 - some improvements 2019-12-09 21:12:13 +01:00
task.cc MDEV-21674 purge_sys.stop() fails to wait for purge workers to complete 2020-02-07 08:12:58 +02:00
task_group.cc tpool - implement post-task callback (for Innodb debugging) 2020-01-12 19:08:02 +01:00
tpool.h MDEV-27900: aio handle partial reads/writes 2022-03-12 09:47:53 +11:00
tpool_generic.cc MDEV-28920 Rescheduling of innodb_stats_func() missing 2022-06-23 05:53:55 +02:00
tpool_structs.h MDEV-32861 InnoDB hangs when running out of I/O slots 2023-11-22 16:54:41 +02:00
tpool_win.cc tpool - implement post-task callback (for Innodb debugging) 2020-01-12 19:08:02 +01:00
wait_notification.cc tpool - misc fixes 2020-01-12 21:34:59 +01:00