diff options
author | Eugene Kosov <claprix@yandex.ru> | 2020-05-13 01:45:54 +0300 |
---|---|---|
committer | Eugene Kosov <eugene.kosov@mariadb.com> | 2020-06-23 23:34:42 +0300 |
commit | d712956526236867de3239c18b789f5c7b497ac7 (patch) | |
tree | 0dbe0989b710938d167c3ffe0aec33e2675a2bd4 /sql/mdl.h | |
parent | e9c389c3346752df4bc3b000a16c799f0f8eca13 (diff) | |
download | mariadb-git-d712956526236867de3239c18b789f5c7b497ac7.tar.gz |
MDEV-19749 MDL scalability regression after backup locks
use ilist instread of I_P_List because it's generally
slightly faster on inserting, removing and iterating
Diffstat (limited to 'sql/mdl.h')
-rw-r--r-- | sql/mdl.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sql/mdl.h b/sql/mdl.h index 4659238e9f2..dd10b3a45d0 100644 --- a/sql/mdl.h +++ b/sql/mdl.h @@ -1,6 +1,7 @@ #ifndef MDL_H #define MDL_H /* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2020, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +17,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */ #include "sql_plist.h" +#include "ilist.h" #include <my_sys.h> #include <m_string.h> #include <mysql_com.h> @@ -685,7 +687,7 @@ public: threads/contexts. */ -class MDL_ticket : public MDL_wait_for_subgraph +class MDL_ticket : public MDL_wait_for_subgraph, public ilist_node<> { public: /** @@ -694,15 +696,9 @@ public: */ MDL_ticket *next_in_context; MDL_ticket **prev_in_context; - /** - Pointers for participating in the list of satisfied/pending requests - for the lock. Externally accessible. - */ - MDL_ticket *next_in_lock; - MDL_ticket **prev_in_lock; public: #ifdef WITH_WSREP - void wsrep_report(bool debug); + void wsrep_report(bool debug) const; #endif /* WITH_WSREP */ bool has_pending_conflicting_lock() const; |