mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
78c9a12c8f
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. |
||
---|---|---|
.. | ||
aio_linux.cc | ||
aio_simulated.cc | ||
aio_win.cc | ||
CMakeLists.txt | ||
task.cc | ||
task_group.cc | ||
tpool.h | ||
tpool_generic.cc | ||
tpool_structs.h | ||
tpool_win.cc | ||
wait_notification.cc |