Commit bda481ce authored by unknown's avatar unknown
Browse files

Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0

into hundin.mysql.fi:/home/marko/mysql-5.0-current

parents e586c286 ec6b1999
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -182,6 +182,7 @@ extern mutex_t* kernel_mutex_temp;/* mutex protecting the server, trx structs,
#define kernel_mutex (*kernel_mutex_temp)

#define SRV_MAX_N_IO_THREADS	100
#define SRV_CONCURRENCY_THRESHOLD	20
				
/* Array of English strings describing the current state of an
i/o handler thread */
+3 −14
Original line number Diff line number Diff line
@@ -260,7 +260,7 @@ semaphore contention and convoy problems can occur withput this restriction.
Value 10 should be good if there are less than 4 processors + 4 disks in the
computer. Bigger computers need bigger values. */

ulong	srv_thread_concurrency	= 8;
ulong	srv_thread_concurrency	= SRV_CONCURRENCY_THRESHOLD;

os_fast_mutex_t	srv_conc_mutex;		/* this mutex protects srv_conc data
					structures */
@@ -983,12 +983,6 @@ srv_conc_enter_innodb(
	srv_conc_slot_t*	slot	  = NULL;
	ulint			i;

	if (srv_thread_concurrency >= 500) {
		/* Disable the concurrency check */
	
		return;
	}

	/* If trx has 'free tickets' to enter the engine left, then use one
	such ticket */

@@ -1134,7 +1128,7 @@ srv_conc_force_enter_innodb(
	trx_t*	trx)	/* in: transaction object associated with the
			thread */
{
	if (srv_thread_concurrency >= 500) {
	if (srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD) {
	
		return;
	}
@@ -1160,7 +1154,7 @@ srv_conc_force_exit_innodb(
{
	srv_conc_slot_t*	slot	= NULL;

	if (srv_thread_concurrency >= 500) {
	if (srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD) {
	
		return;
	}
@@ -1212,11 +1206,6 @@ srv_conc_exit_innodb(
	trx_t*	trx)	/* in: transaction object associated with the
			thread */
{
	if (srv_thread_concurrency >= 500) {
	
		return;
	}

	if (trx->n_tickets_to_enter_innodb > 0) {
		/* We will pretend the thread is still inside InnoDB though it
		now leaves the InnoDB engine. In this way we save
+2 −2
Original line number Diff line number Diff line
@@ -326,7 +326,7 @@ innodb_srv_conc_enter_innodb(
/*=========================*/
	trx_t*	trx)	/* in: transaction handle */
{
	if (UNIV_LIKELY(srv_thread_concurrency >= 20)) {
	if (UNIV_LIKELY(srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD)) {

		return;
	}
@@ -343,7 +343,7 @@ innodb_srv_conc_exit_innodb(
/*========================*/
	trx_t*	trx)	/* in: transaction handle */
{
	if (UNIV_LIKELY(srv_thread_concurrency >= 20)) {
	if (UNIV_LIKELY(srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD)) {

		return;
	}