summaryrefslogtreecommitdiff
path: root/storage/innobase/sync
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 /storage/innobase/sync
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.
Diffstat (limited to 'storage/innobase/sync')
-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);