summaryrefslogtreecommitdiff
path: root/innobase/srv/srv0srv.c
diff options
context:
space:
mode:
authorunknown <vtkachenko@intelp4d.mysql.com>2005-01-08 15:06:20 +0100
committerunknown <vtkachenko@intelp4d.mysql.com>2005-01-08 15:06:20 +0100
commit6f45da15f3463b200b521288ec12d3af4822922b (patch)
tree2944cc54d45f7782916b02e7a20c075450ae2566 /innobase/srv/srv0srv.c
parent5802259dc5ca818c53332b360dba09570f4f6e81 (diff)
parent8a8823d27f751eaf686b797329839444f654ad65 (diff)
downloadmariadb-git-6f45da15f3463b200b521288ec12d3af4822922b.tar.gz
Merge bk-internal:/home/bk/mysql-5.0
into intelp4d.mysql.com:/users/vtkachenko/bk/mysql-5.0 innobase/srv/srv0srv.c: Auto merged sql/ha_innodb.cc: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged
Diffstat (limited to 'innobase/srv/srv0srv.c')
-rw-r--r--innobase/srv/srv0srv.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c
index 15dacdf6333..7da2ee10d27 100644
--- a/innobase/srv/srv0srv.c
+++ b/innobase/srv/srv0srv.c
@@ -297,8 +297,8 @@ srv_conc_slot_t* srv_conc_slots; /* array of wait
/* Number of times a thread is allowed to enter InnoDB within the same
SQL query after it has once got the ticket at srv_conc_enter_innodb */
-#define SRV_FREE_TICKETS_TO_ENTER 500
-
+#define SRV_FREE_TICKETS_TO_ENTER srv_n_free_tickets_to_enter
+#define SRV_THREAD_SLEEP_DELAY srv_thread_sleep_delay
/*-----------------------*/
/* If the following is set TRUE then we do not run purge and insert buffer
merge to completion before shutdown */
@@ -328,6 +328,8 @@ ulint srv_max_purge_lag = 0;
/*-------------------------------------------*/
ulint srv_n_spin_wait_rounds = 20;
+ulint srv_n_free_tickets_to_enter = 500;
+ulint srv_thread_sleep_delay = 10000;
ulint srv_spin_wait_delay = 5;
ibool srv_priority_boost = TRUE;
@@ -1025,8 +1027,8 @@ retry:
return;
}
- /* If the transaction is not holding resources, let it sleep for 50
- milliseconds, and try again then */
+ /* If the transaction is not holding resources,
+ let it sleep for SRV_THREAD_SLEEP_DELAY microseconds, and try again then */
if (!has_slept && !trx->has_search_latch
&& NULL == UT_LIST_GET_FIRST(trx->trx_locks)) {
@@ -1045,8 +1047,10 @@ retry:
situations of lots of thread switches. Simply put some
threads aside for a while to reduce the number of thread
switches. */
-
- os_thread_sleep(10000);
+ if (SRV_THREAD_SLEEP_DELAY > 0)
+ {
+ os_thread_sleep(SRV_THREAD_SLEEP_DELAY);
+ }
trx->op_info = "";