Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
6fad448a
Commit
6fad448a
authored
Jan 18, 2006
by
pem@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/extern/mysql/bk/mysql-5.0
into mysql.com:/extern/mysql/work/bug14834/mysql-5.0
parents
5cf8418b
5f7279d0
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
26 additions
and
22 deletions
+26
-22
innobase/include/srv0srv.h
innobase/include/srv0srv.h
+1
-2
innobase/srv/srv0srv.c
innobase/srv/srv0srv.c
+6
-5
mysql-test/r/innodb.result
mysql-test/r/innodb.result
+3
-3
mysql-test/t/innodb.test
mysql-test/t/innodb.test
+1
-1
sql/ha_innodb.cc
sql/ha_innodb.cc
+3
-5
sql/ha_innodb.h
sql/ha_innodb.h
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+6
-4
sql/set_var.cc
sql/set_var.cc
+5
-1
No files found.
innobase/include/srv0srv.h
View file @
6fad448a
...
...
@@ -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
ul
int
srv_flush_log_at_trx_commit
;
extern
ul
ong
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 */
...
...
innobase/srv/srv0srv.c
View file @
6fad448a
...
...
@@ -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 */
ul
int
srv_flush_log_at_trx_commit
=
1
;
ul
ong
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
;
}
...
...
mysql-test/r/innodb.result
View file @
6fad448a
...
...
@@ -1821,15 +1821,15 @@ Variable_name Value
innodb_sync_spin_loops 20
show variables like "innodb_thread_concurrency";
Variable_name Value
innodb_thread_concurrency
2
0
set global innodb_thread_concurrency=100
0
;
innodb_thread_concurrency 0
set global innodb_thread_concurrency=100
1
;
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
...
...
mysql-test/t/innodb.test
View file @
6fad448a
...
...
@@ -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
=
100
0
;
set
global
innodb_thread_concurrency
=
100
1
;
show
variables
like
"innodb_thread_concurrency"
;
set
global
innodb_thread_concurrency
=
0
;
show
variables
like
"innodb_thread_concurrency"
;
...
...
sql/ha_innodb.cc
View file @
6fad448a
...
...
@@ -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
);
}
...
...
sql/ha_innodb.h
View file @
6fad448a
...
...
@@ -200,7 +200,6 @@ class ha_innobase: public handler
extern
struct
show_var_st
innodb_status_variables
[];
extern
uint
innobase_init_flags
,
innobase_lock_type
;
extern
uint
innobase_flush_log_at_trx_commit
;
extern
ulong
innobase_cache_size
,
innobase_fast_shutdown
;
extern
ulong
innobase_large_page_size
;
extern
char
*
innobase_home
,
*
innobase_tmpdir
,
*
innobase_logdir
;
...
...
@@ -238,6 +237,7 @@ extern ulong srv_n_free_tickets_to_enter;
extern
ulong
srv_thread_sleep_delay
;
extern
ulong
srv_thread_concurrency
;
extern
ulong
srv_commit_concurrency
;
extern
ulong
srv_flush_log_at_trx_commit
;
}
extern
TYPELIB
innobase_lock_typelib
;
...
...
sql/mysqld.cc
View file @
6fad448a
...
...
@@ -4823,8 +4823,8 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite,
(
gptr
*
)
&
innobase_file_per_table
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"innodb_flush_log_at_trx_commit"
,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT
,
"Set to 0 (write and flush once per second), 1 (write and flush at each commit) or 2 (write at commit, flush once per second)."
,
(
gptr
*
)
&
innobase
_flush_log_at_trx_commit
,
(
gptr
*
)
&
innobase
_flush_log_at_trx_commit
,
(
gptr
*
)
&
srv
_flush_log_at_trx_commit
,
(
gptr
*
)
&
srv
_flush_log_at_trx_commit
,
0
,
GET_UINT
,
OPT_ARG
,
1
,
0
,
2
,
0
,
0
,
0
},
{
"innodb_flush_method"
,
OPT_INNODB_FLUSH_METHOD
,
"With which method to flush data."
,
(
gptr
*
)
&
innobase_unix_file_flush_method
,
...
...
@@ -5504,9 +5504,11 @@ log and this option does nothing anymore.",
(
gptr
*
)
&
srv_n_spin_wait_rounds
,
0
,
GET_LONG
,
REQUIRED_ARG
,
20L
,
0L
,
~
0L
,
0
,
1L
,
0
},
{
"innodb_thread_concurrency"
,
OPT_INNODB_THREAD_CONCURRENCY
,
"Helps in performance tuning in heavily concurrent environments."
,
"Helps in performance tuning in heavily concurrent environments. "
"Sets the maximum number of threads allowed inside InnoDB. Value 0"
" will disable the thread throttling."
,
(
gptr
*
)
&
srv_thread_concurrency
,
(
gptr
*
)
&
srv_thread_concurrency
,
0
,
GET_LONG
,
REQUIRED_ARG
,
20
,
1
,
1000
,
0
,
1
,
0
},
0
,
GET_LONG
,
REQUIRED_ARG
,
0
,
0
,
1000
,
0
,
1
,
0
},
{
"innodb_commit_concurrency"
,
OPT_INNODB_THREAD_CONCURRENCY
,
"Helps in performance tuning in heavily concurrent environments."
,
(
gptr
*
)
&
srv_commit_concurrency
,
(
gptr
*
)
&
srv_commit_concurrency
,
...
...
sql/set_var.cc
View file @
6fad448a
...
...
@@ -422,6 +422,9 @@ sys_var_long_ptr sys_innodb_thread_concurrency("innodb_thread_concurrency",
&
srv_thread_concurrency
);
sys_var_long_ptr
sys_innodb_commit_concurrency
(
"innodb_commit_concurrency"
,
&
srv_commit_concurrency
);
sys_var_long_ptr
sys_innodb_flush_log_at_trx_commit
(
"innodb_flush_log_at_trx_commit"
,
&
srv_flush_log_at_trx_commit
);
#endif
/* Condition pushdown to storage engine */
...
...
@@ -726,6 +729,7 @@ sys_var *sys_variables[]=
&
sys_innodb_thread_sleep_delay
,
&
sys_innodb_thread_concurrency
,
&
sys_innodb_commit_concurrency
,
&
sys_innodb_flush_log_at_trx_commit
,
#endif
&
sys_trust_routine_creators
,
&
sys_trust_function_creators
,
...
...
@@ -831,7 +835,6 @@ struct show_var_st init_vars[]= {
{
sys_innodb_fast_shutdown
.
name
,(
char
*
)
&
sys_innodb_fast_shutdown
,
SHOW_SYS
},
{
"innodb_file_io_threads"
,
(
char
*
)
&
innobase_file_io_threads
,
SHOW_LONG
},
{
"innodb_file_per_table"
,
(
char
*
)
&
innobase_file_per_table
,
SHOW_MY_BOOL
},
{
"innodb_flush_log_at_trx_commit"
,
(
char
*
)
&
innobase_flush_log_at_trx_commit
,
SHOW_INT
},
{
"innodb_flush_method"
,
(
char
*
)
&
innobase_unix_file_flush_method
,
SHOW_CHAR_PTR
},
{
"innodb_force_recovery"
,
(
char
*
)
&
innobase_force_recovery
,
SHOW_LONG
},
{
"innodb_lock_wait_timeout"
,
(
char
*
)
&
innobase_lock_wait_timeout
,
SHOW_LONG
},
...
...
@@ -851,6 +854,7 @@ struct show_var_st init_vars[]= {
{
sys_innodb_table_locks
.
name
,
(
char
*
)
&
sys_innodb_table_locks
,
SHOW_SYS
},
{
sys_innodb_thread_concurrency
.
name
,
(
char
*
)
&
sys_innodb_thread_concurrency
,
SHOW_SYS
},
{
sys_innodb_thread_sleep_delay
.
name
,
(
char
*
)
&
sys_innodb_thread_sleep_delay
,
SHOW_SYS
},
{
sys_innodb_flush_log_at_trx_commit
.
name
,
(
char
*
)
&
sys_innodb_flush_log_at_trx_commit
,
SHOW_SYS
},
#endif
{
sys_interactive_timeout
.
name
,(
char
*
)
&
sys_interactive_timeout
,
SHOW_SYS
},
{
sys_join_buffer_size
.
name
,
(
char
*
)
&
sys_join_buffer_size
,
SHOW_SYS
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment