packages (MYSQL_5_0): mysql/mysql-innodb_dict_size_limit.patch, mysql/mysql...
glen
glen at pld-linux.org
Wed Aug 26 12:17:08 CEST 2009
Author: glen Date: Wed Aug 26 10:17:08 2009 GMT
Module: packages Tag: MYSQL_5_0
---- Log message:
- update percona patches, automate that process
---- Files affected:
packages/mysql:
mysql-innodb_dict_size_limit.patch (1.1 -> 1.1.2.1) , mysql-innodb_extra_rseg.patch (1.1 -> 1.1.2.1) , mysql-innodb_fsync_source.patch (1.1.2.1 -> 1.1.2.2) , mysql-innodb_io_patches.patch (1.1.2.4 -> 1.1.2.5) , mysql-innodb_io_pattern.patch (1.1.2.3 -> 1.1.2.4) , mysql-innodb_locks_held.patch (1.1.2.4 -> 1.1.2.5) , mysql-innodb_rw_lock.patch (1.1.2.3 -> 1.1.2.4) , mysql-innodb_show_bp.patch (1.1.2.1 -> 1.1.2.2) , mysql-innodb_thread_concurrency_timer_based.patch (1.1 -> 1.1.2.1) , mysql-microslow_innodb.patch (1.1.2.10 -> 1.1.2.11) , mysql-profiling_slow.patch (1.1 -> 1.1.2.1) , mysql-userstatv2.patch (1.1.2.10 -> 1.1.2.11) , mysql.spec (1.353.2.75 -> 1.353.2.76) , percona.sh (1.1 -> 1.2) , mysql-innodb_recovery_patches.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_split_buf_pool_mutex.patch (NONE -> 1.1.2.1) (NEW), mysql-innodb_use_sys_malloc.patch (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: packages/mysql/mysql-innodb_dict_size_limit.patch
diff -u packages/mysql/mysql-innodb_dict_size_limit.patch:1.1 packages/mysql/mysql-innodb_dict_size_limit.patch:1.1.2.1
--- packages/mysql/mysql-innodb_dict_size_limit.patch:1.1 Thu Jul 16 15:01:55 2009
+++ packages/mysql/mysql-innodb_dict_size_limit.patch Wed Aug 26 12:17:02 2009
@@ -1,6 +1,6 @@
-diff -ru mysql-5.0.75_base/innobase/dict/dict0boot.c mysql-5.0.75/innobase/dict/dict0boot.c
---- mysql-5.0.75_base/innobase/dict/dict0boot.c 2008-12-19 02:19:35.000000000 +0900
-+++ mysql-5.0.75/innobase/dict/dict0boot.c 2009-01-23 19:28:25.000000000 +0900
+diff -r 6eeee157fd40 innobase/dict/dict0boot.c
+--- a/innobase/dict/dict0boot.c Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/dict/dict0boot.c Fri Jul 03 15:41:41 2009 -0700
@@ -247,6 +247,7 @@
system tables */
/*-------------------------*/
@@ -33,9 +33,9 @@
dict_mem_table_add_col(table, "INDEX_ID", DATA_BINARY, 0,0,0);
dict_mem_table_add_col(table, "POS", DATA_INT, 0, 4, 0);
-diff -ru mysql-5.0.75_base/innobase/dict/dict0crea.c mysql-5.0.75/innobase/dict/dict0crea.c
---- mysql-5.0.75_base/innobase/dict/dict0crea.c 2008-12-19 02:19:35.000000000 +0900
-+++ mysql-5.0.75/innobase/dict/dict0crea.c 2009-01-23 19:41:38.000000000 +0900
+diff -r 6eeee157fd40 innobase/dict/dict0crea.c
+--- a/innobase/dict/dict0crea.c Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/dict/dict0crea.c Fri Jul 03 15:41:41 2009 -0700
@@ -1178,6 +1178,9 @@
/* Foreign constraint system tables have already been
created, and they are ok */
@@ -47,20 +47,20 @@
return(DB_SUCCESS);
@@ -1266,6 +1269,11 @@
+ que_graph_free(graph);
trx->op_info = "";
-
++
+ table1 = dict_table_get_low("SYS_FOREIGN");
+ table2 = dict_table_get_low("SYS_FOREIGN_COLS");
+ table1->n_mysql_handles_opened = 1; /* for pin */
+ table2->n_mysql_handles_opened = 1; /* for pin */
-+
+
row_mysql_unlock_data_dictionary(trx);
- trx_free_for_mysql(trx);
-diff -ru mysql-5.0.75_base/innobase/dict/dict0dict.c mysql-5.0.75/innobase/dict/dict0dict.c
---- mysql-5.0.75_base/innobase/dict/dict0dict.c 2008-12-19 02:19:35.000000000 +0900
-+++ mysql-5.0.75/innobase/dict/dict0dict.c 2009-01-26 16:03:29.000000000 +0900
+diff -r 6eeee157fd40 innobase/dict/dict0dict.c
+--- a/innobase/dict/dict0dict.c Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/dict/dict0dict.c Fri Jul 03 15:41:41 2009 -0700
@@ -638,6 +638,8 @@
mutex_enter(&(dict_sys->mutex));
@@ -79,15 +79,15 @@
mutex_exit(&(dict_sys->mutex));
if (table != NULL) {
-@@ -787,6 +791,8 @@
+@@ -786,6 +790,8 @@
+
table->n_mysql_handles_opened++;
}
-
-+ dict_table_LRU_trim(table);
+
++ dict_table_LRU_trim(table);
+
mutex_exit(&(dict_sys->mutex));
- if (table != NULL) {
@@ -1267,20 +1273,64 @@
too much space. Currently not used! */
@@ -100,18 +100,24 @@
{
dict_table_t* table;
dict_table_t* prev_table;
+-
+- ut_error;
+-
+-#ifdef UNIV_SYNC_DEBUG
+- ut_ad(mutex_own(&(dict_sys->mutex)));
+-#endif /* UNIV_SYNC_DEBUG */
+-
+ dict_foreign_t* foreign;
+ ulint n_removed;
+ ulint n_have_parent;
+ ulint cached_foreign_tables;
-
-- ut_error;
++
+ //ut_error;
-
- #ifdef UNIV_SYNC_DEBUG
- ut_ad(mutex_own(&(dict_sys->mutex)));
- #endif /* UNIV_SYNC_DEBUG */
-
++
++#ifdef UNIV_SYNC_DEBUG
++ ut_ad(mutex_own(&(dict_sys->mutex)));
++#endif /* UNIV_SYNC_DEBUG */
++
+retry:
+ n_removed = n_have_parent = 0;
table = UT_LIST_GET_LAST(dict_sys->table_LRU);
@@ -156,7 +162,7 @@
while (table && (dict_sys->size >
buf_pool_get_max_size() / DICT_POOL_PER_VARYING)) {
-@@ -1292,6 +1341,7 @@
+@@ -1292,6 +1342,7 @@
table = prev_table;
}
@@ -164,9 +170,9 @@
}
/**************************************************************************
-diff -ru mysql-5.0.75_base/innobase/ibuf/ibuf0ibuf.c mysql-5.0.75/innobase/ibuf/ibuf0ibuf.c
---- mysql-5.0.75_base/innobase/ibuf/ibuf0ibuf.c 2009-01-23 11:44:18.000000000 +0900
-+++ mysql-5.0.75/innobase/ibuf/ibuf0ibuf.c 2009-01-23 19:22:54.000000000 +0900
+diff -r 6eeee157fd40 innobase/ibuf/ibuf0ibuf.c
+--- a/innobase/ibuf/ibuf0ibuf.c Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/ibuf/ibuf0ibuf.c Fri Jul 03 15:41:41 2009 -0700
@@ -535,6 +535,7 @@
sprintf(buf, "SYS_IBUF_TABLE_%lu", (ulong) space);
/* use old-style record format for the insert buffer */
@@ -175,9 +181,9 @@
dict_mem_table_add_col(table, "PAGE_NO", DATA_BINARY, 0, 0, 0);
dict_mem_table_add_col(table, "TYPES", DATA_BINARY, 0, 0, 0);
-diff -ru mysql-5.0.75_base/innobase/include/dict0dict.h mysql-5.0.75/innobase/include/dict0dict.h
---- mysql-5.0.75_base/innobase/include/dict0dict.h 2008-12-19 02:19:35.000000000 +0900
-+++ mysql-5.0.75/innobase/include/dict0dict.h 2009-01-23 21:46:22.000000000 +0900
+diff -r 6eeee157fd40 innobase/include/dict0dict.h
+--- a/innobase/include/dict0dict.h Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/include/dict0dict.h Fri Jul 03 15:41:41 2009 -0700
@@ -938,6 +938,11 @@
const char* ptr, /* in: scan from */
const char* string);/* in: look for this */
@@ -190,9 +196,9 @@
/* Buffers for storing detailed information about the latest foreign key
and unique key errors */
extern FILE* dict_foreign_err_file;
-diff -ru mysql-5.0.75_base/innobase/include/dict0dict.ic mysql-5.0.75/innobase/include/dict0dict.ic
---- mysql-5.0.75_base/innobase/include/dict0dict.ic 2008-12-19 02:19:35.000000000 +0900
-+++ mysql-5.0.75/innobase/include/dict0dict.ic 2009-01-23 18:35:55.000000000 +0900
+diff -r 6eeee157fd40 innobase/include/dict0dict.ic
+--- a/innobase/include/dict0dict.ic Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/include/dict0dict.ic Fri Jul 03 15:41:41 2009 -0700
@@ -533,6 +533,13 @@
HASH_SEARCH(name_hash, dict_sys->table_hash, table_fold, table,
@@ -218,19 +224,19 @@
/* lock_push(trx, table, LOCK_DICT_MEM_FIX) */
}
-diff -ru mysql-5.0.75_base/innobase/include/srv0srv.h mysql-5.0.75/innobase/include/srv0srv.h
---- mysql-5.0.75_base/innobase/include/srv0srv.h 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/innobase/include/srv0srv.h 2009-01-27 10:47:26.000000000 +0900
+diff -r 6eeee157fd40 innobase/include/srv0srv.h
+--- a/innobase/include/srv0srv.h Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/include/srv0srv.h Fri Jul 03 15:41:41 2009 -0700
@@ -146,6 +146,8 @@
+ extern ulint srv_enable_unsafe_group_commit;
extern uint srv_read_ahead;
- extern ulint srv_adaptive_checkpoint;
-
-+extern ulint srv_dict_size_limit;
+ extern uint srv_adaptive_checkpoint;
+
++extern ulint srv_dict_size_limit;
+
extern volatile ibool srv_io_pattern;
extern ulong srv_io_pattern_trace;
- extern ulong srv_io_pattern_trace_running;
-@@ -545,6 +547,7 @@
+@@ -552,6 +554,7 @@
ulint innodb_data_writes;
ulint innodb_data_written;
ulint innodb_data_reads;
@@ -238,19 +244,19 @@
ulint innodb_buffer_pool_pages_total;
ulint innodb_buffer_pool_pages_data;
ulint innodb_buffer_pool_pages_dirty;
-diff -ru mysql-5.0.75_base/innobase/srv/srv0srv.c mysql-5.0.75/innobase/srv/srv0srv.c
---- mysql-5.0.75_base/innobase/srv/srv0srv.c 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/innobase/srv/srv0srv.c 2009-01-27 10:52:19.000000000 +0900
-@@ -345,6 +345,8 @@
- uint srv_read_ahead = 3; /* 1: random 2: linear 3: Both */
- ulint srv_adaptive_checkpoint = 0; /* 0:disable 1:enable */
+diff -r 6eeee157fd40 innobase/srv/srv0srv.c
+--- a/innobase/srv/srv0srv.c Fri Jul 03 15:41:34 2009 -0700
++++ b/innobase/srv/srv0srv.c Fri Jul 03 15:41:41 2009 -0700
+@@ -352,6 +352,8 @@
-+ulint srv_dict_size_limit = 0;
+ uint srv_read_ahead = 3; /* 1: random 2: linear 3: Both */
+ uint srv_adaptive_checkpoint = 0; /* 0: none 1: reflex 2: estimate */
+
++ulint srv_dict_size_limit = 0;
+
volatile ibool srv_io_pattern = FALSE;
ulint srv_io_pattern_trace = 0;
- ulint srv_io_pattern_trace_running = 0;
-@@ -1936,6 +1938,7 @@
+@@ -1953,6 +1955,7 @@
export_vars.innodb_data_reads= os_n_file_reads;
export_vars.innodb_data_writes= os_n_file_writes;
export_vars.innodb_data_written= srv_data_written;
@@ -258,82 +264,9 @@
export_vars.innodb_buffer_pool_read_requests= buf_pool->n_page_gets;
export_vars.innodb_buffer_pool_write_requests= srv_buf_pool_write_requests;
export_vars.innodb_buffer_pool_wait_free= srv_buf_pool_wait_free;
-diff -ru mysql-5.0.75_base/sql/ha_innodb.cc mysql-5.0.75/sql/ha_innodb.cc
---- mysql-5.0.75_base/sql/ha_innodb.cc 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/sql/ha_innodb.cc 2009-01-27 10:54:08.000000000 +0900
-@@ -288,6 +288,8 @@
- (char*) &export_vars.innodb_dblwr_pages_written, SHOW_LONG},
- {"dblwr_writes",
- (char*) &export_vars.innodb_dblwr_writes, SHOW_LONG},
-+ {"dict_tables",
-+ (char*) &export_vars.innodb_dict_tables, SHOW_LONG},
- {"log_waits",
- (char*) &export_vars.innodb_log_waits, SHOW_LONG},
- {"log_write_requests",
-diff -ru mysql-5.0.75_base/sql/ha_innodb.h mysql-5.0.75/sql/ha_innodb.h
---- mysql-5.0.75_base/sql/ha_innodb.h 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/sql/ha_innodb.h 2009-01-26 15:49:37.000000000 +0900
-@@ -242,6 +242,7 @@
- extern ulong srv_flush_neighbor_pages;
- extern uint srv_read_ahead;
- extern ulong srv_adaptive_checkpoint;
-+extern ulong srv_dict_size_limit;
- extern ulong srv_show_locks_held;
- extern ulong srv_show_verbose_locks;
- extern ulong srv_io_pattern_trace;
-diff -ru mysql-5.0.75_base/sql/mysqld.cc mysql-5.0.75/sql/mysqld.cc
---- mysql-5.0.75_base/sql/mysqld.cc 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/sql/mysqld.cc 2009-01-26 15:29:45.000000000 +0900
-@@ -5053,6 +5053,7 @@
- OPT_INNODB_ADAPTIVE_CHECKPOINT,
- OPT_INNODB_READ_IO_THREADS,
- OPT_INNODB_WRITE_IO_THREADS,
-+ OPT_INNODB_DICT_SIZE_LIMIT,
- OPT_INNODB_ADAPTIVE_HASH_INDEX,
- OPT_RPL_MIRROR_BINLOG,
- OPT_SYNC_MIRROR_BINLOG,
-@@ -5406,6 +5407,10 @@
- "Number of background write I/O threads in InnoDB.",
- (gptr*) &innobase_write_io_threads, (gptr*) &innobase_write_io_threads,
- 0, GET_LONG, REQUIRED_ARG, 1, 1, 64, 0, 0, 0},
-+ {"innodb_dict_size_limit", OPT_INNODB_DICT_SIZE_LIMIT,
-+ "Limit the allocated memory for dictionary cache. (0: unlimited)",
-+ (gptr*) &srv_dict_size_limit, (gptr*) &srv_dict_size_limit, 0,
-+ GET_ULONG, REQUIRED_ARG, 0, 0, ULONG_MAX, 0, 0 ,0},
- {"innodb_io_pattern_trace", OPT_INNODB_IO_PATTERN_TRACE,
- "Create/Drop the internal hash table for IO pattern tracing.",
- (gptr*) &srv_io_pattern_trace, (gptr*) &srv_io_pattern_trace,
-diff -ru mysql-5.0.75_base/sql/set_var.cc mysql-5.0.75/sql/set_var.cc
---- mysql-5.0.75_base/sql/set_var.cc 2009-01-23 11:44:19.000000000 +0900
-+++ mysql-5.0.75/sql/set_var.cc 2009-01-26 15:46:45.000000000 +0900
-@@ -522,6 +522,8 @@
- &innodb_read_ahead_typelib, fix_innodb_read_ahead);
- sys_var_long_ptr sys_innodb_adaptive_checkpoint("innodb_adaptive_checkpoint",
- &srv_adaptive_checkpoint);
-+sys_var_long_ptr sys_innodb_dict_size_limit("innodb_dict_size_limit",
-+ &srv_dict_size_limit);
- sys_var_long_ptr sys_innodb_show_locks_held(
- "innodb_show_locks_held",
- &srv_show_locks_held);
-@@ -905,6 +907,7 @@
- &sys_innodb_flush_neighbor_pages,
- &sys_innodb_read_ahead,
- &sys_innodb_adaptive_checkpoint,
-+ &sys_innodb_dict_size_limit,
- &sys_innodb_show_locks_held,
- &sys_innodb_show_verbose_locks,
- &sys_innodb_io_pattern_trace,
-@@ -1056,6 +1059,7 @@
- {sys_innodb_adaptive_checkpoint.name, (char*) &sys_innodb_adaptive_checkpoint, SHOW_SYS},
- {"innodb_read_io_threads", (char*) &innobase_read_io_threads, SHOW_LONG},
- {"innodb_write_io_threads", (char*) &innobase_write_io_threads, SHOW_LONG},
-+ {sys_innodb_dict_size_limit.name, (char*) &sys_innodb_dict_size_limit, SHOW_SYS},
- {sys_innodb_io_pattern_trace.name, (char*) &sys_innodb_io_pattern_trace, SHOW_SYS},
- {sys_innodb_io_pattern_trace_running.name, (char*) &sys_innodb_io_pattern_trace_running, SHOW_SYS},
- {sys_innodb_io_pattern_size_limit.name, (char*) &sys_innodb_io_pattern_size_limit, SHOW_SYS},
-diff -ruN mysql-5.0.75_base/mysql-test/r/innodb_dict_size_limit.result mysql-5.0.75/mysql-test/r/innodb_dict_size_limit.result
---- /dev/null 1970-01-01 09:00:00.000000000 +0900
-+++ mysql-5.0.75/mysql-test/r/innodb_dict_size_limit.result 2009-01-27 11:43:46.000000000 +0900
+diff -r 6eeee157fd40 mysql-test/r/innodb_dict_size_limit.result
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/mysql-test/r/innodb_dict_size_limit.result Fri Jul 03 15:41:41 2009 -0700
@@ -0,0 +1,60 @@
+DROP TABLE IF EXISTS `test_5`;
+DROP TABLE IF EXISTS `test_4`;
@@ -395,9 +328,9 @@
+DROP TABLE `test_3`;
+DROP TABLE `test_2`;
+DROP TABLE `test_1`;
-diff -ruN mysql-5.0.75_base/mysql-test/t/innodb_dict_size_limit.test mysql-5.0.75/mysql-test/t/innodb_dict_size_limit.test
---- /dev/null 1970-01-01 09:00:00.000000000 +0900
-+++ mysql-5.0.75/mysql-test/t/innodb_dict_size_limit.test 2009-01-27 11:43:36.000000000 +0900
+diff -r 6eeee157fd40 mysql-test/t/innodb_dict_size_limit.test
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/mysql-test/t/innodb_dict_size_limit.test Fri Jul 03 15:41:41 2009 -0700
@@ -0,0 +1,63 @@
+#
+# Test for new variable innodb_dict_size_limit;
@@ -462,9 +395,9 @@
+DROP TABLE `test_2`;
+DROP TABLE `test_1`;
+
-diff -ruN mysql-5.0.75_base/patch_info/innodb_dict_size_limit.info mysql-5.0.75/patch_info/innodb_dict_size_limit.info
---- /dev/null 1970-01-01 09:00:00.000000000 +0900
-+++ mysql-5.0.75/patch_info/innodb_dict_size_limit.info 2009-01-26 15:46:45.000000000 +0900
+diff -r 6eeee157fd40 patch_info/innodb_dict_size_limit.info
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/patch_info/innodb_dict_size_limit.info Fri Jul 03 15:41:41 2009 -0700
@@ -0,0 +1,9 @@
+File=innodb_dict_size_limit.patch
+Name=Limit dictionary cache size
@@ -475,3 +408,76 @@
+ChangeLog=
+2009-01-26
+YK: Initial release
+diff -r 6eeee157fd40 sql/ha_innodb.cc
+--- a/sql/ha_innodb.cc Fri Jul 03 15:41:34 2009 -0700
++++ b/sql/ha_innodb.cc Fri Jul 03 15:41:41 2009 -0700
+@@ -288,6 +288,8 @@
+ (char*) &export_vars.innodb_dblwr_pages_written, SHOW_LONG},
+ {"dblwr_writes",
+ (char*) &export_vars.innodb_dblwr_writes, SHOW_LONG},
++ {"dict_tables",
++ (char*) &export_vars.innodb_dict_tables, SHOW_LONG},
+ {"log_waits",
+ (char*) &export_vars.innodb_log_waits, SHOW_LONG},
+ {"log_write_requests",
+diff -r 6eeee157fd40 sql/ha_innodb.h
+--- a/sql/ha_innodb.h Fri Jul 03 15:41:34 2009 -0700
++++ b/sql/ha_innodb.h Fri Jul 03 15:41:41 2009 -0700
+@@ -243,6 +243,7 @@
+ extern ulong srv_enable_unsafe_group_commit;
+ extern uint srv_read_ahead;
+ extern uint srv_adaptive_checkpoint;
++extern ulong srv_dict_size_limit;
+ extern ulong srv_show_locks_held;
+ extern ulong srv_show_verbose_locks;
+ extern ulong srv_io_pattern_trace;
+diff -r 6eeee157fd40 sql/mysqld.cc
+--- a/sql/mysqld.cc Fri Jul 03 15:41:34 2009 -0700
++++ b/sql/mysqld.cc Fri Jul 03 15:41:41 2009 -0700
+@@ -5101,6 +5101,7 @@
+ OPT_INNODB_ADAPTIVE_CHECKPOINT,
+ OPT_INNODB_READ_IO_THREADS,
+ OPT_INNODB_WRITE_IO_THREADS,
++ OPT_INNODB_DICT_SIZE_LIMIT,
+ OPT_INNODB_ADAPTIVE_HASH_INDEX,
+ OPT_FEDERATED,
+ OPT_INNODB_USE_LEGACY_CARDINALITY_ALGORITHM
+@@ -5464,6 +5465,10 @@
+ "Number of background write I/O threads in InnoDB.",
+ (gptr*) &innobase_write_io_threads, (gptr*) &innobase_write_io_threads,
+ 0, GET_LONG, REQUIRED_ARG, 8, 1, 64, 0, 0, 0},
++ {"innodb_dict_size_limit", OPT_INNODB_DICT_SIZE_LIMIT,
++ "Limit the allocated memory for dictionary cache. (0: unlimited)",
++ (gptr*) &srv_dict_size_limit, (gptr*) &srv_dict_size_limit, 0,
++ GET_ULONG, REQUIRED_ARG, 0, 0, ULONG_MAX, 0, 0 ,0},
+ {"innodb_io_pattern_trace", OPT_INNODB_IO_PATTERN_TRACE,
+ "Create/Drop the internal hash table for IO pattern tracing.",
+ (gptr*) &srv_io_pattern_trace, (gptr*) &srv_io_pattern_trace,
+diff -r 6eeee157fd40 sql/set_var.cc
+--- a/sql/set_var.cc Fri Jul 03 15:41:34 2009 -0700
++++ b/sql/set_var.cc Fri Jul 03 15:41:41 2009 -0700
+@@ -540,6 +540,8 @@
+ sys_var_enum sys_innodb_adaptive_checkpoint("innodb_adaptive_checkpoint",
+ &srv_adaptive_checkpoint,
+ &innodb_adaptive_checkpoint_typelib, fix_innodb_adaptive_checkpoint);
++sys_var_long_ptr sys_innodb_dict_size_limit("innodb_dict_size_limit",
++ &srv_dict_size_limit);
+ sys_var_long_ptr sys_innodb_show_locks_held(
+ "innodb_show_locks_held",
+ &srv_show_locks_held);
+@@ -930,6 +932,7 @@
+ &sys_innodb_read_ahead,
+ &sys_innodb_enable_unsafe_group_commit,
+ &sys_innodb_adaptive_checkpoint,
++ &sys_innodb_dict_size_limit,
+ &sys_innodb_show_locks_held,
+ &sys_innodb_show_verbose_locks,
+ &sys_innodb_io_pattern_trace,
+@@ -1084,6 +1087,7 @@
+ {sys_innodb_adaptive_checkpoint.name, (char*) &sys_innodb_adaptive_checkpoint, SHOW_SYS},
+ {"innodb_read_io_threads", (char*) &innobase_read_io_threads, SHOW_LONG},
+ {"innodb_write_io_threads", (char*) &innobase_write_io_threads, SHOW_LONG},
++ {sys_innodb_dict_size_limit.name, (char*) &sys_innodb_dict_size_limit, SHOW_SYS},
+ {sys_innodb_io_pattern_trace.name, (char*) &sys_innodb_io_pattern_trace, SHOW_SYS},
+ {sys_innodb_io_pattern_trace_running.name, (char*) &sys_innodb_io_pattern_trace_running, SHOW_SYS},
+ {sys_innodb_io_pattern_size_limit.name, (char*) &sys_innodb_io_pattern_size_limit, SHOW_SYS},
================================================================
Index: packages/mysql/mysql-innodb_extra_rseg.patch
diff -u packages/mysql/mysql-innodb_extra_rseg.patch:1.1 packages/mysql/mysql-innodb_extra_rseg.patch:1.1.2.1
--- packages/mysql/mysql-innodb_extra_rseg.patch:1.1 Thu Jul 16 15:01:55 2009
+++ packages/mysql/mysql-innodb_extra_rseg.patch Wed Aug 26 12:17:02 2009
@@ -1,18 +1,18 @@
-diff -ruN a/innobase/include/srv0srv.h b/innobase/include/srv0srv.h
---- a/innobase/include/srv0srv.h 2009-05-06 15:35:46.000000000 +0900
-+++ b/innobase/include/srv0srv.h 2009-05-06 13:37:45.000000000 +0900
-@@ -147,6 +147,8 @@
+diff -r 85e7025cf2d1 innobase/include/srv0srv.h
+--- a/innobase/include/srv0srv.h Fri Jul 03 15:41:41 2009 -0700
++++ b/innobase/include/srv0srv.h Fri Jul 03 15:41:47 2009 -0700
+@@ -146,6 +146,8 @@
+ extern ulint srv_enable_unsafe_group_commit;
extern uint srv_read_ahead;
- extern ulint srv_adaptive_checkpoint;
-
-+extern ulint srv_extra_rsegments;
+ extern uint srv_adaptive_checkpoint;
+
++extern ulint srv_extra_rsegments;
+
extern ulint srv_dict_size_limit;
- extern volatile ibool srv_io_pattern;
-diff -ruN a/innobase/include/trx0sys.h b/innobase/include/trx0sys.h
---- a/innobase/include/trx0sys.h 2009-05-06 15:35:46.000000000 +0900
-+++ b/innobase/include/trx0sys.h 2009-05-06 14:52:00.000000000 +0900
+diff -r 85e7025cf2d1 innobase/include/trx0sys.h
+--- a/innobase/include/trx0sys.h Fri Jul 03 15:41:41 2009 -0700
++++ b/innobase/include/trx0sys.h Fri Jul 03 15:41:47 2009 -0700
@@ -105,6 +105,13 @@
void
trx_sys_create(void);
@@ -27,21 +27,21 @@
/********************************************************************
Looks for a free slot for a rollback segment in the trx system file copy. */
-diff -ruN a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c
---- a/innobase/srv/srv0srv.c 2009-05-06 15:35:46.000000000 +0900
-+++ b/innobase/srv/srv0srv.c 2009-05-06 13:38:23.000000000 +0900
-@@ -347,6 +347,8 @@
- uint srv_read_ahead = 3; /* 1: random 2: linear 3: Both */
- ulint srv_adaptive_checkpoint = 0; /* 0:disable 1:enable */
+diff -r 85e7025cf2d1 innobase/srv/srv0srv.c
+--- a/innobase/srv/srv0srv.c Fri Jul 03 15:41:41 2009 -0700
++++ b/innobase/srv/srv0srv.c Fri Jul 03 15:41:47 2009 -0700
+@@ -352,6 +352,8 @@
-+ulint srv_extra_rsegments = 0; /* extra rseg for users */
+ uint srv_read_ahead = 3; /* 1: random 2: linear 3: Both */
+ uint srv_adaptive_checkpoint = 0; /* 0: none 1: reflex 2: estimate */
+
++ulint srv_extra_rsegments = 0; /* extra rseg for users */
+
ulint srv_dict_size_limit = 0;
- volatile ibool srv_io_pattern = FALSE;
-diff -ruN a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c
---- a/innobase/srv/srv0start.c 2009-05-06 15:35:46.000000000 +0900
-+++ b/innobase/srv/srv0start.c 2009-05-06 14:54:43.000000000 +0900
+diff -r 85e7025cf2d1 innobase/srv/srv0start.c
+--- a/innobase/srv/srv0start.c Fri Jul 03 15:41:41 2009 -0700
++++ b/innobase/srv/srv0start.c Fri Jul 03 15:41:47 2009 -0700
@@ -1418,6 +1418,8 @@
dict_create();
srv_startup_is_before_trx_rollback_phase = FALSE;
@@ -51,9 +51,9 @@
#ifdef UNIV_LOG_ARCHIVE
} else if (srv_archive_recovery) {
fprintf(stderr,
-diff -ruN a/innobase/trx/trx0sys.c b/innobase/trx/trx0sys.c
---- a/innobase/trx/trx0sys.c 2009-05-06 15:35:46.000000000 +0900
-+++ b/innobase/trx/trx0sys.c 2009-05-06 14:54:02.000000000 +0900
+diff -r 85e7025cf2d1 innobase/trx/trx0sys.c
+--- a/innobase/trx/trx0sys.c Fri Jul 03 15:41:41 2009 -0700
++++ b/innobase/trx/trx0sys.c Fri Jul 03 15:41:47 2009 -0700
@@ -944,3 +944,28 @@
trx_sys_init_at_db_start();
@@ -83,9 +83,9 @@
+ }
+ mtr_commit(&mtr);
+}
-diff -ruN a/patch_info/innodb_extra_rseg.info b/patch_info/innodb_extra_rseg.info
---- /dev/null 1970-01-01 09:00:00.000000000 +0900
-+++ b/patch_info/innodb_extra_rseg.info 2009-05-06 14:49:48.000000000 +0900
+diff -r 85e7025cf2d1 patch_info/innodb_extra_rseg.info
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/patch_info/innodb_extra_rseg.info Fri Jul 03 15:41:47 2009 -0700
@@ -0,0 +1,6 @@
+File=innodb_extra_rseg.patch
+Name=allow to create extra rollback segments
@@ -93,9 +93,9 @@
+Author=Percona <info at percona.com>
+License=GPL
+Comment
-diff -ruN a/sql/ha_innodb.cc b/sql/ha_innodb.cc
---- a/sql/ha_innodb.cc 2009-05-06 15:35:46.000000000 +0900
-+++ b/sql/ha_innodb.cc 2009-05-06 15:27:49.000000000 +0900
+diff -r 85e7025cf2d1 sql/ha_innodb.cc
+--- a/sql/ha_innodb.cc Fri Jul 03 15:41:41 2009 -0700
++++ b/sql/ha_innodb.cc Fri Jul 03 15:41:47 2009 -0700
@@ -152,6 +152,7 @@
innobase_open_files;
@@ -104,7 +104,7 @@
longlong innobase_buffer_pool_size, innobase_log_file_size;
/* The default values for the following char* start-up parameters
-@@ -1507,6 +1508,8 @@
+@@ -1521,6 +1522,8 @@
srv_n_read_io_threads = (ulint) innobase_read_io_threads;
srv_n_write_io_threads = (ulint) innobase_write_io_threads;
@@ -113,9 +113,9 @@
srv_lock_wait_timeout = (ulint) innobase_lock_wait_timeout;
srv_force_recovery = (ulint) innobase_force_recovery;
-diff -ruN a/sql/ha_innodb.h b/sql/ha_innodb.h
---- a/sql/ha_innodb.h 2009-05-06 15:35:46.000000000 +0900
-+++ b/sql/ha_innodb.h 2009-05-06 13:51:35.000000000 +0900
+diff -r 85e7025cf2d1 sql/ha_innodb.h
+--- a/sql/ha_innodb.h Fri Jul 03 15:41:41 2009 -0700
++++ b/sql/ha_innodb.h Fri Jul 03 15:41:47 2009 -0700
@@ -205,6 +205,7 @@
extern long innobase_buffer_pool_awe_mem_mb;
extern long innobase_file_io_threads, innobase_lock_wait_timeout;
@@ -124,21 +124,21 @@
extern long innobase_force_recovery;
extern long innobase_open_files;
extern char *innobase_data_home_dir, *innobase_data_file_path;
-diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
---- a/sql/mysqld.cc 2009-05-06 15:35:46.000000000 +0900
-+++ b/sql/mysqld.cc 2009-05-06 14:12:05.000000000 +0900
-@@ -5096,6 +5096,7 @@
+diff -r 85e7025cf2d1 sql/mysqld.cc
+--- a/sql/mysqld.cc Fri Jul 03 15:41:41 2009 -0700
++++ b/sql/mysqld.cc Fri Jul 03 15:41:47 2009 -0700
+@@ -5101,6 +5101,7 @@
OPT_INNODB_ADAPTIVE_CHECKPOINT,
OPT_INNODB_READ_IO_THREADS,
OPT_INNODB_WRITE_IO_THREADS,
+ OPT_INNODB_EXTRA_RSEGMENTS,
OPT_INNODB_DICT_SIZE_LIMIT,
OPT_INNODB_ADAPTIVE_HASH_INDEX,
- OPT_RPL_MIRROR_BINLOG,
-@@ -5454,6 +5455,10 @@
+ OPT_FEDERATED,
+@@ -5465,6 +5466,10 @@
"Number of background write I/O threads in InnoDB.",
(gptr*) &innobase_write_io_threads, (gptr*) &innobase_write_io_threads,
- 0, GET_LONG, REQUIRED_ARG, 1, 1, 64, 0, 0, 0},
+ 0, GET_LONG, REQUIRED_ARG, 8, 1, 64, 0, 0, 0},
+ {"innodb_extra_rsegments", OPT_INNODB_EXTRA_RSEGMENTS,
+ "Number of extra user rollback segments when create new database.",
+ (gptr*) &innobase_extra_rsegments, (gptr*) &innobase_extra_rsegments,
@@ -146,10 +146,10 @@
{"innodb_dict_size_limit", OPT_INNODB_DICT_SIZE_LIMIT,
"Limit the allocated memory for dictionary cache. (0: unlimited)",
(gptr*) &srv_dict_size_limit, (gptr*) &srv_dict_size_limit, 0,
-diff -ruN a/sql/set_var.cc b/sql/set_var.cc
---- a/sql/set_var.cc 2009-05-06 15:35:46.000000000 +0900
-+++ b/sql/set_var.cc 2009-05-06 14:13:24.000000000 +0900
-@@ -1063,6 +1063,7 @@
+diff -r 85e7025cf2d1 sql/set_var.cc
+--- a/sql/set_var.cc Fri Jul 03 15:41:41 2009 -0700
++++ b/sql/set_var.cc Fri Jul 03 15:41:47 2009 -0700
+@@ -1087,6 +1087,7 @@
{sys_innodb_adaptive_checkpoint.name, (char*) &sys_innodb_adaptive_checkpoint, SHOW_SYS},
{"innodb_read_io_threads", (char*) &innobase_read_io_threads, SHOW_LONG},
{"innodb_write_io_threads", (char*) &innobase_write_io_threads, SHOW_LONG},
@@ -157,9 +157,9 @@
{sys_innodb_dict_size_limit.name, (char*) &sys_innodb_dict_size_limit, SHOW_SYS},
{sys_innodb_io_pattern_trace.name, (char*) &sys_innodb_io_pattern_trace, SHOW_SYS},
{sys_innodb_io_pattern_trace_running.name, (char*) &sys_innodb_io_pattern_trace_running, SHOW_SYS},
-diff -ruN a/sql/sql_show.cc b/sql/sql_show.cc
---- a/sql/sql_show.cc 2009-05-06 15:35:46.000000000 +0900
-+++ b/sql/sql_show.cc 2009-05-06 15:29:47.000000000 +0900
+diff -r 85e7025cf2d1 sql/sql_show.cc
+--- a/sql/sql_show.cc Fri Jul 03 15:41:41 2009 -0700
++++ b/sql/sql_show.cc Fri Jul 03 15:41:47 2009 -0700
@@ -39,6 +39,8 @@
#include "srv0srv.h"
#include "buf0buf.h"
@@ -169,7 +169,7 @@
}
/* We need to undef it in InnoDB */
#undef byte
-@@ -4160,6 +4162,45 @@
+@@ -4180,6 +4182,45 @@
DBUG_RETURN(returnable);
}
@@ -215,10 +215,12 @@
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_dict_size_limit.patch?r1=1.1&r2=1.1.2.1&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_extra_rseg.patch?r1=1.1&r2=1.1.2.1&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_fsync_source.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_io_patches.patch?r1=1.1.2.4&r2=1.1.2.5&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_io_pattern.patch?r1=1.1.2.3&r2=1.1.2.4&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_locks_held.patch?r1=1.1.2.4&r2=1.1.2.5&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_rw_lock.patch?r1=1.1.2.3&r2=1.1.2.4&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_show_bp.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-innodb_thread_concurrency_timer_based.patch?r1=1.1&r2=1.1.2.1&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-microslow_innodb.patch?r1=1.1.2.10&r2=1.1.2.11&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-profiling_slow.patch?r1=1.1&r2=1.1.2.1&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql-userstatv2.patch?r1=1.1.2.10&r2=1.1.2.11&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/mysql.spec?r1=1.353.2.75&r2=1.353.2.76&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/mysql/percona.sh?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list