Commit f0fe29f1 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/extern/mysql/bk/mysql-5.0

into  mysql.com:/extern/mysql/work/bug14834/mysql-5.0

parents ccd0ae3c e3f0690d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ extern ulint srv_n_log_groups;
extern ulint	srv_n_log_files;
extern ulint	srv_log_file_size;
extern ulint	srv_log_buffer_size;
extern ulint	srv_flush_log_at_trx_commit;
extern ulong	srv_flush_log_at_trx_commit;

extern byte	srv_latin1_ordering[256];/* The sort order table of the latin1
					character set */
@@ -195,7 +195,6 @@ 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 */
+6 −5
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ ulint srv_n_log_groups = ULINT_MAX;
ulint	srv_n_log_files		= ULINT_MAX;
ulint	srv_log_file_size	= ULINT_MAX;	/* size in database pages */ 
ulint	srv_log_buffer_size	= ULINT_MAX;	/* size in database pages */ 
ulint	srv_flush_log_at_trx_commit = 1;
ulong	srv_flush_log_at_trx_commit = 1;

byte	srv_latin1_ordering[256]	/* The sort order table of the latin1
					character set. The following table is
@@ -258,9 +258,10 @@ threads waiting for locks are not counted into the number because otherwise
we could get a deadlock. MySQL creates a thread for each user session, and
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. */
computer. Bigger computers need bigger values. Value 0 will disable the
concurrency check. */

ulong	srv_thread_concurrency	= SRV_CONCURRENCY_THRESHOLD;
ulong	srv_thread_concurrency	= 0;
ulong   srv_commit_concurrency  = 0;

os_fast_mutex_t	srv_conc_mutex;		/* this mutex protects srv_conc data
@@ -1141,7 +1142,7 @@ srv_conc_force_enter_innodb(
	trx_t*	trx)	/* in: transaction object associated with the
			thread */
{
	if (srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD) {
	if (UNIV_LIKELY(!srv_thread_concurrency)) {
	
		return;
	}
@@ -1167,7 +1168,7 @@ srv_conc_force_exit_innodb(
{
	srv_conc_slot_t*	slot	= NULL;

	if (srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD) {
	if (UNIV_LIKELY(!srv_thread_concurrency)) {
	
		return;
	}
+3 −3
Original line number Diff line number Diff line
@@ -1821,15 +1821,15 @@ Variable_name Value
innodb_sync_spin_loops	20
show variables like "innodb_thread_concurrency";
Variable_name	Value
innodb_thread_concurrency	20
set global innodb_thread_concurrency=1000;
innodb_thread_concurrency	0
set global innodb_thread_concurrency=1001;
show variables like "innodb_thread_concurrency";
Variable_name	Value
innodb_thread_concurrency	1000
set global innodb_thread_concurrency=0;
show variables like "innodb_thread_concurrency";
Variable_name	Value
innodb_thread_concurrency	1
innodb_thread_concurrency	0
set global innodb_thread_concurrency=16;
show variables like "innodb_thread_concurrency";
Variable_name	Value
+1 −1
Original line number Diff line number Diff line
@@ -1316,7 +1316,7 @@ show variables like "innodb_sync_spin_loops";

# Test for innodb_thread_concurrency variable
show variables like "innodb_thread_concurrency";
set global innodb_thread_concurrency=1000;
set global innodb_thread_concurrency=1001;
show variables like "innodb_thread_concurrency";
set global innodb_thread_concurrency=0;
show variables like "innodb_thread_concurrency";
+3 −5
Original line number Diff line number Diff line
@@ -167,7 +167,6 @@ char* innobase_unix_file_flush_method = NULL;
/* Below we have boolean-valued start-up parameters, and their default
values */

uint	innobase_flush_log_at_trx_commit	= 1;
ulong	innobase_fast_shutdown			= 1;
my_bool innobase_log_archive			= FALSE;/* unused */
my_bool innobase_use_doublewrite    = TRUE;
@@ -339,7 +338,7 @@ innodb_srv_conc_enter_innodb(
/*=========================*/
	trx_t*	trx)	/* in: transaction handle */
{
	if (UNIV_LIKELY(srv_thread_concurrency >= SRV_CONCURRENCY_THRESHOLD)) {
	if (UNIV_LIKELY(!srv_thread_concurrency)) {

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

		return;
	}
@@ -1341,7 +1340,6 @@ innobase_init(void)
	srv_log_archive_on = (ulint) innobase_log_archive;
#endif /* UNIV_LOG_ARCHIVE */
	srv_log_buffer_size = (ulint) innobase_log_buffer_size;
	srv_flush_log_at_trx_commit = (ulint) innobase_flush_log_at_trx_commit;

        /* We set srv_pool_size here in units of 1 kB. InnoDB internally
        changes the value so that it becomes the number of database pages. */
@@ -1816,7 +1814,7 @@ innobase_commit_complete(

                trx->active_trans = 0;

                if (srv_flush_log_at_trx_commit == 0) {
                if (UNIV_UNLIKELY(srv_flush_log_at_trx_commit == 0)) {

                        return(0);
                }
Loading