From 97506bf7c3fc628b19e25fe3c65d0c3edca3f67a Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Tue, 7 Apr 2020 14:42:02 +1000 Subject: [PATCH] mysql-test: add large_pages test On by default, suppress "fallback to conventional memory" warnings as we're never sure what the test has available. Leave off Windows test for now. Running without SeLockMemoryPrivilege is fatal if --large-pages is specified. --- mysql-test/main/large_pages.opt | 1 + mysql-test/main/large_pages.result | 43 ++++++++++++++++++++++++++++++ mysql-test/main/large_pages.test | 38 ++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 mysql-test/main/large_pages.opt create mode 100644 mysql-test/main/large_pages.result create mode 100644 mysql-test/main/large_pages.test diff --git a/mysql-test/main/large_pages.opt b/mysql-test/main/large_pages.opt new file mode 100644 index 00000000000..857c9c1ecee --- /dev/null +++ b/mysql-test/main/large_pages.opt @@ -0,0 +1 @@ +--large-pages diff --git a/mysql-test/main/large_pages.result b/mysql-test/main/large_pages.result new file mode 100644 index 00000000000..9d03e646ddf --- /dev/null +++ b/mysql-test/main/large_pages.result @@ -0,0 +1,43 @@ +call mtr.add_suppression("\\[Warning\\] (mysqld|mariadbd): Couldn't allocate [0-9]+ bytes \\((Large/HugeTLB memory|MEMLOCK) page size [0-9]+\\).*"); +create table t1 ( +a int not null auto_increment, +b char(16) not null, +primary key (a), +key (b) +); +create table t2( +a int not null auto_increment, +b char(16) not null, +primary key (a), +key (b) +); +insert into t1(b) values +('test0'), +('test1'), +('test2'), +('test3'), +('test4'), +('test5'), +('test6'), +('test7'); +insert into t2(b) select b from t1; +insert into t1(b) select b from t2; +select * from t1 join t2 using (b) ORDER BY t1.a, t2.a; +b a a +test0 1 1 +test1 2 2 +test2 3 3 +test3 4 4 +test4 5 5 +test5 6 6 +test6 7 7 +test7 8 8 +test0 9 1 +test1 10 2 +test2 11 3 +test3 12 4 +test4 13 5 +test5 14 6 +test6 15 7 +test7 16 8 +drop table t1, t2; diff --git a/mysql-test/main/large_pages.test b/mysql-test/main/large_pages.test new file mode 100644 index 00000000000..136273a2821 --- /dev/null +++ b/mysql-test/main/large_pages.test @@ -0,0 +1,38 @@ +# Test of large pages (or at least the fallback to conventional allocation) + +# Windows needs SeLockMemoryPrivilege +--source include/not_windows.inc +--source include/have_innodb.inc + +call mtr.add_suppression("\\[Warning\\] (mysqld|mariadbd): Couldn't allocate [0-9]+ bytes \\((Large/HugeTLB memory|MEMLOCK) page size [0-9]+\\).*"); + +create table t1 ( + a int not null auto_increment, + b char(16) not null, + primary key (a), + key (b) +); + +create table t2( + a int not null auto_increment, + b char(16) not null, + primary key (a), + key (b) +); + +insert into t1(b) values + ('test0'), + ('test1'), + ('test2'), + ('test3'), + ('test4'), + ('test5'), + ('test6'), + ('test7'); + +insert into t2(b) select b from t1; +insert into t1(b) select b from t2; + +select * from t1 join t2 using (b) ORDER BY t1.a, t2.a; + +drop table t1, t2;