diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-11-21 20:20:39 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-11-21 20:20:39 +0100 |
commit | ffc0ef63164e9a121d8a02323afe32a82299171e (patch) | |
tree | d9f882c0651f6e53ded3f606ff9b9c86bc7c9dd5 | |
parent | 67e2e14627731082ea9c31392f34fc920aef86df (diff) | |
parent | 8ff66501ca976bbac7854d0f45fc543cc5933f7b (diff) | |
download | mariadb-git-ffc0ef63164e9a121d8a02323afe32a82299171e.tar.gz |
5.5 mergemariadb-10.0.15
-rw-r--r-- | mysql-test/suite/sys_vars/r/innodb_stats_traditional_basic.result | 14 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 4 | ||||
-rw-r--r-- | storage/innobase/srv/srv0srv.cc | 4 | ||||
-rw-r--r-- | storage/innobase/sync/sync0sync.cc | 5 | ||||
-rw-r--r-- | storage/xtradb/handler/ha_innodb.cc | 4 | ||||
-rw-r--r-- | storage/xtradb/srv/srv0srv.cc | 4 | ||||
-rw-r--r-- | storage/xtradb/sync/sync0sync.cc | 5 |
7 files changed, 25 insertions, 15 deletions
diff --git a/mysql-test/suite/sys_vars/r/innodb_stats_traditional_basic.result b/mysql-test/suite/sys_vars/r/innodb_stats_traditional_basic.result index 754a8dfd980..00ee2877e58 100644 --- a/mysql-test/suite/sys_vars/r/innodb_stats_traditional_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_stats_traditional_basic.result @@ -1,28 +1,28 @@ SET @start_global_value = @@global.innodb_stats_traditional; SELECT @start_global_value; @start_global_value -0 +1 Valid values are 'ON' and 'OFF' select @@global.innodb_stats_traditional in (0, 1); @@global.innodb_stats_traditional in (0, 1) 1 select @@global.innodb_stats_traditional; @@global.innodb_stats_traditional -0 +1 select @@session.innodb_stats_traditional; ERROR HY000: Variable 'innodb_stats_traditional' is a GLOBAL variable show global variables like 'innodb_stats_traditional'; Variable_name Value -innodb_stats_traditional OFF +innodb_stats_traditional ON show session variables like 'innodb_stats_traditional'; Variable_name Value -innodb_stats_traditional OFF +innodb_stats_traditional ON select * from information_schema.global_variables where variable_name='innodb_stats_traditional'; VARIABLE_NAME VARIABLE_VALUE -INNODB_STATS_TRADITIONAL OFF +INNODB_STATS_TRADITIONAL ON select * from information_schema.session_variables where variable_name='innodb_stats_traditional'; VARIABLE_NAME VARIABLE_VALUE -INNODB_STATS_TRADITIONAL OFF +INNODB_STATS_TRADITIONAL ON set global innodb_stats_traditional='OFF'; select @@global.innodb_stats_traditional; @@global.innodb_stats_traditional @@ -89,4 +89,4 @@ ERROR 42000: Variable 'innodb_stats_traditional' can't be set to the value of 'A SET @@global.innodb_stats_traditional = @start_global_value; SELECT @@global.innodb_stats_traditional; @@global.innodb_stats_traditional -0 +1 diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index b7b163b5bd7..3c52a35b2b4 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -16364,8 +16364,8 @@ static MYSQL_SYSVAR_ULONGLONG(stats_modified_counter, srv_stats_modified_counter static MYSQL_SYSVAR_BOOL(stats_traditional, srv_stats_sample_traditional, PLUGIN_VAR_RQCMDARG, - "Enable traditional statistic calculation based on number of configured pages (default false)", - NULL, NULL, FALSE); + "Enable traditional statistic calculation based on number of configured pages (default true)", + NULL, NULL, TRUE); static MYSQL_SYSVAR_BOOL(adaptive_hash_index, btr_search_enabled, PLUGIN_VAR_OPCMDARG, diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index f8a6bc5d276..14b2bdbe03c 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -345,8 +345,8 @@ UNIV_INTERN my_bool srv_stats_auto_recalc = TRUE; UNIV_INTERN unsigned long long srv_stats_modified_counter = 0; /* Enable traditional statistic calculation based on number of configured -pages default false. */ -UNIV_INTERN my_bool srv_stats_sample_traditional = FALSE; +pages default true. */ +UNIV_INTERN my_bool srv_stats_sample_traditional = TRUE; UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE; diff --git a/storage/innobase/sync/sync0sync.cc b/storage/innobase/sync/sync0sync.cc index 2729bc39228..fb559f26bd4 100644 --- a/storage/innobase/sync/sync0sync.cc +++ b/storage/innobase/sync/sync0sync.cc @@ -551,6 +551,11 @@ spin_loop: mutex_set_waiters(mutex, 1); + /* Make sure waiters store won't pass over mutex_test_and_set */ +#ifdef __powerpc__ + os_mb; +#endif + /* Try to reserve still a few times */ for (i = 0; i < 4; i++) { if (ib_mutex_test_and_set(mutex) == 0) { diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index 01c9e4ecdb7..bed8914f6e6 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -17462,8 +17462,8 @@ static MYSQL_SYSVAR_ULONGLONG(stats_modified_counter, srv_stats_modified_counter static MYSQL_SYSVAR_BOOL(stats_traditional, srv_stats_sample_traditional, PLUGIN_VAR_RQCMDARG, - "Enable traditional statistic calculation based on number of configured pages (default false)", - NULL, NULL, FALSE); + "Enable traditional statistic calculation based on number of configured pages (default true)", + NULL, NULL, TRUE); static MYSQL_SYSVAR_BOOL(adaptive_hash_index, btr_search_enabled, PLUGIN_VAR_OPCMDARG, diff --git a/storage/xtradb/srv/srv0srv.cc b/storage/xtradb/srv/srv0srv.cc index a3ec19b223b..11a217f865c 100644 --- a/storage/xtradb/srv/srv0srv.cc +++ b/storage/xtradb/srv/srv0srv.cc @@ -462,8 +462,8 @@ UNIV_INTERN my_bool srv_stats_auto_recalc = TRUE; UNIV_INTERN unsigned long long srv_stats_modified_counter = 0; /* Enable traditional statistic calculation based on number of configured -pages default false. */ -UNIV_INTERN my_bool srv_stats_sample_traditional = FALSE; +pages default true. */ +UNIV_INTERN my_bool srv_stats_sample_traditional = TRUE; UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE; UNIV_INTERN ibool srv_use_atomic_writes = FALSE; diff --git a/storage/xtradb/sync/sync0sync.cc b/storage/xtradb/sync/sync0sync.cc index ca630531086..d02a0df70ca 100644 --- a/storage/xtradb/sync/sync0sync.cc +++ b/storage/xtradb/sync/sync0sync.cc @@ -649,6 +649,11 @@ spin_loop: mutex_set_waiters(mutex, 1); } + /* Make sure waiters store won't pass over mutex_test_and_set */ +#ifdef __powerpc__ + os_mb; +#endif + /* Try to reserve still a few times */ for (i = 0; i < 4; i++) { if (ib_mutex_test_and_set(mutex) == 0) { |