From f21a408aae0814ec0fbff21361dd6719e582a9f3 Mon Sep 17 00:00:00 2001 From: Xiao Hua Zeng Date: Fri, 20 May 2016 08:59:50 +1000 Subject: [PATCH 1/2] test fix: innodb_zip.16k POWER architecture platforms, with 64K page sizes instead of 16K generate a different test value for innodb_zip.16k. Added 1539 to the allowed answers. --- mysql-test/suite/innodb_zip/t/16k.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/innodb_zip/t/16k.test b/mysql-test/suite/innodb_zip/t/16k.test index 274b0b8..c68c5e8 100644 --- a/mysql-test/suite/innodb_zip/t/16k.test +++ b/mysql-test/suite/innodb_zip/t/16k.test @@ -20,7 +20,7 @@ SELECT variable_value FROM information_schema.global_status --echo # Test 2) The number of buffer pool pages is dependent upon the page size. --disable_warnings ---replace_result 1535 {checked_valid} 1536 {checked_valid} +--replace_result 1535 {checked_valid} 1536 {checked_valid} 1539 {checked_valid} SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total'; --enable_warnings From 5d8ecc939c894a38d4db374358e78b19f77c945c Mon Sep 17 00:00:00 2001 From: Xiao Hua Zeng Date: Fri, 20 May 2016 09:14:02 +1000 Subject: [PATCH 2/2] Correct innodb_buffer_pool_size value when resizing The implemention prior to this commit takes curr_size, which is 515*16K = 8437760 > 8M (515 is the chunk size on Power), and then the alignment will make it to 16M. thus the final innobase_buffer_pool_size is set to 16M, not 8M which is expected. --- storage/innobase/buf/buf0buf.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 33bf2b2..ab0ccbe 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -2895,7 +2895,7 @@ buf_pool_resize() buf_pool->old_size = buf_pool->curr_size; } srv_buf_pool_curr_size = curr_size; - innodb_set_buf_pool_size(buf_pool_size_align(curr_size)); + innodb_set_buf_pool_size(srv_buf_pool_size); } const bool new_size_too_diff