MySQL 5.6.14 Source Code Document
|
Go to the source code of this file.
Classes | |
struct | srv_conc_slot_t |
struct | srv_conc_t |
Functions | |
typedef | UT_LIST_NODE_T (struct srv_conc_slot_t) srv_conc_node_t |
typedef | UT_LIST_BASE_NODE_T (srv_conc_slot_t) srv_conc_queue_t |
void | srv_conc_init (void) |
void | srv_conc_free (void) |
UNIV_INTERN void | srv_conc_enter_innodb (trx_t *trx) |
UNIV_INTERN void | srv_conc_force_enter_innodb (trx_t *trx) |
UNIV_INTERN void | srv_conc_force_exit_innodb (trx_t *trx) |
UNIV_INTERN ulint | srv_conc_get_waiting_threads (void) |
UNIV_INTERN ulint | srv_conc_get_active_threads (void) |
Variables | |
UNIV_INTERN ulong | srv_n_free_tickets_to_enter = 500 |
UNIV_INTERN ulong | srv_thread_sleep_delay = 10000 |
UNIV_INTERN ulint | srv_max_n_threads = 0 |
UNIV_INTERN ulong | srv_thread_concurrency = 0 |
UNIV_INTERN void srv_conc_enter_innodb | ( | trx_t * | trx | ) |
Puts an OS thread to wait if there are too many concurrent threads (>= srv_thread_concurrency) inside InnoDB. The threads wait in a FIFO queue.
trx | in: transaction object associated with the thread |
Definition at line 501 of file srv0conc.cc.
UNIV_INTERN void srv_conc_force_enter_innodb | ( | trx_t * | trx | ) |
This lets a thread enter InnoDB regardless of the number of threads inside InnoDB. This must be called when a thread ends a lock wait.
trx | in: transaction object associated with the thread |
Definition at line 522 of file srv0conc.cc.
UNIV_INTERN void srv_conc_force_exit_innodb | ( | trx_t * | trx | ) |
This must be called when a thread exits InnoDB in a lock wait or at the end of an SQL statement.
trx | in: transaction object associated with the thread |
Definition at line 555 of file srv0conc.cc.
void srv_conc_free | ( | void | ) |
Free the concurrency management data structures
Definition at line 155 of file srv0conc.cc.
UNIV_INTERN ulint srv_conc_get_active_threads | ( | void | ) |
Get the count of threads active inside InnoDB.
Definition at line 592 of file srv0conc.cc.
UNIV_INTERN ulint srv_conc_get_waiting_threads | ( | void | ) |
Get the count of threads waiting inside InnoDB.
Definition at line 582 of file srv0conc.cc.
void srv_conc_init | ( | void | ) |
Initialise the concurrency management data structures
Definition at line 128 of file srv0conc.cc.
typedef UT_LIST_BASE_NODE_T | ( | srv_conc_slot_t | ) |
Queue of threads waiting to get in
typedef UT_LIST_NODE_T | ( | struct srv_conc_slot_t | ) |
Concurrency list node
UNIV_INTERN ulint srv_max_n_threads = 0 |
We are prepared for a situation that we have this many threads waiting for
a semaphore inside InnoDB. innobase_start_or_create_for_mysql() sets the value.
Definition at line 62 of file srv0conc.cc.
UNIV_INTERN ulong srv_n_free_tickets_to_enter = 500 |
Number of times a thread is allowed to enter InnoDB within the same
SQL query after it has once got the ticket.
Definition at line 48 of file srv0conc.cc.
UNIV_INTERN ulong srv_thread_concurrency = 0 |
The following controls how many threads we let inside InnoDB concurrently:
threads waiting for locks are not counted into the number because otherwise we could get a deadlock. Value of 0 will disable the concurrency check.
Definition at line 68 of file srv0conc.cc.
UNIV_INTERN ulong srv_thread_sleep_delay = 10000 |
Sleep delay for threads waiting to enter InnoDB. In micro-seconds.
Definition at line 55 of file srv0conc.cc.