summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2020-01-21 10:48:12 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2020-01-21 10:50:25 +0100
commit6f54a5abea6555b6fd3232ff88a084633ce752c6 (patch)
treead10bf2f4d99eaf2e137a84f953a3f75ac5698be
parent28129cd4e1194fcb770d1322c4be31e773bd0250 (diff)
downloadmariadb-git-6f54a5abea6555b6fd3232ff88a084633ce752c6.tar.gz
MDEV-21544 instrument sync_array waits with tpool::wait_begin/end
threadpool has to know about long waits, to be able to create or wakeup new threads, or it can become slow, if it just relies on maintainence timer.
-rw-r--r--storage/innobase/sync/sync0arr.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/storage/innobase/sync/sync0arr.cc b/storage/innobase/sync/sync0arr.cc
index b3528e61a0d..9a86256fb7c 100644
--- a/storage/innobase/sync/sync0arr.cc
+++ b/storage/innobase/sync/sync0arr.cc
@@ -468,7 +468,9 @@ sync_array_wait_event(
#endif /* UNIV_DEBUG */
sync_array_exit(arr);
+ tpool::tpool_wait_begin();
os_event_wait_low(sync_cell_get_event(cell), cell->signal_count);
+ tpool::tpool_wait_end();
sync_array_free_cell(arr, cell);