summaryrefslogtreecommitdiff
path: root/storage/innobase/sync
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-02-28 12:42:45 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2017-02-28 12:42:45 +0200
commit6cf29ab0df3131d097b9f811d8a887b54d1afca5 (patch)
tree2236238339cff253472045674efc2e0211ebff52 /storage/innobase/sync
parentc1bcb2055ebab1e9d3e0e99b3626f78d477badd1 (diff)
downloadmariadb-git-6cf29ab0df3131d097b9f811d8a887b54d1afca5.tar.gz
MDEV-12146 Deprecate and remove innodb_instrument_semaphores
MDEV-7618 introduced configuration parameter innodb_instrument_semaphores in MariaDB Server 10.1. The parameter seems to only affect the rw-lock X-latch acquisition. Extra fields are added to rw_lock_t to remember one X-latch holder or waiter. These fields are not being consulted or reported anywhere. This is basically only adding code bloat. If the intention is to debug hangs or deadlocks, we have better tools for that in the debug server, and for the non-debug server, core dumps can reveal a lot. For example, the mini-transaction memo records the currently held buffer block or index rw-locks, to be released at mtr_t::commit(). The configuration parameter innodb_instrument_semaphores will be deprecated in 10.2.5 and removed in 10.3.0. rw_lock_t: Remove the members lock_name, file_name, line, thread_id which did not affect any output.
Diffstat (limited to 'storage/innobase/sync')
-rw-r--r--storage/innobase/sync/sync0rw.cc17
1 files changed, 0 insertions, 17 deletions
diff --git a/storage/innobase/sync/sync0rw.cc b/storage/innobase/sync/sync0rw.cc
index 5cb90ce5b8d..9160d9c8bee 100644
--- a/storage/innobase/sync/sync0rw.cc
+++ b/storage/innobase/sync/sync0rw.cc
@@ -202,7 +202,6 @@ rw_lock_create_func(
#ifdef UNIV_DEBUG
latch_level_t level, /*!< in: level */
#endif /* UNIV_DEBUG */
- const char* cmutex_name, /*!< in: mutex name */
const char* cfile_name, /*!< in: file name where created */
ulint cline) /*!< in: file line where created */
{
@@ -238,10 +237,7 @@ rw_lock_create_func(
less than 8192. cline is unsigned:13. */
ut_ad(cline <= 8192);
lock->cline = (unsigned int) cline;
- lock->lock_name = cmutex_name;
lock->count_os_wait = 0;
- lock->file_name = "not yet reserved";
- lock->line = 0;
lock->last_s_file_name = "not yet reserved";
lock->last_x_file_name = "not yet reserved";
lock->last_s_line = 0;
@@ -479,12 +475,6 @@ rw_lock_x_lock_wait_func(
ut_d(rw_lock_remove_debug_info(
lock, pass, RW_LOCK_X_WAIT));
- if (srv_instrument_semaphores) {
- lock->thread_id = os_thread_get_curr_id();
- lock->file_name = file_name;
- lock->line = line;
- }
-
/* It is possible to wake when lock_word < 0.
We must pass the while-loop check to proceed.*/
@@ -587,13 +577,6 @@ rw_lock_x_lock_low(
ut_d(rw_lock_add_debug_info(lock, pass, RW_LOCK_X, file_name, line));
-
- if (srv_instrument_semaphores) {
- lock->thread_id = os_thread_get_curr_id();
- lock->file_name = file_name;
- lock->line = line;
- }
-
lock->last_x_file_name = file_name;
lock->last_x_line = (unsigned int) line;