summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <daniel@linux.vnet.ibm.com>2018-03-23 12:58:11 +1100
committerSergey Vojtovich <svoj@mariadb.org>2018-03-29 18:55:18 +0400
commit402c7584a81c6c2bca00ae7890d501221c5f8096 (patch)
treeffd34eb83e69b959981f24aca8df2368f30c7935
parent014dfe473a10c79bb476833db915cb586c3b0fd8 (diff)
downloadmariadb-git-402c7584a81c6c2bca00ae7890d501221c5f8096.tar.gz
MDEV-13785: move defination HAVE_LARGE_PAGES -> HAVE_LINUX_LARGE_PAGES
HAVE_LARGE_PAGES was always Linux but now there is HAVE_SOLARIS_LARGE_PAGES in the code base. Innodb was using HAVE_LINUX_LARGE_PAGES so keep this consistent everywhere. Test plan: $ grep Hugepagesize: /proc/meminfo Hugepagesize: 2048 kB $ sudo sysctl vm.nr_hugepages=1024 vm.nr_hugepages = 1024 $ sudo sysctl kernel.shmmax=$(( 2 * 1024 *1024 * 1024 )) kernel.shmmax = 2147483648 No errors in ouput: $ sql/mysqld --skip-networking --datadir=/tmp/datadir --log-bin=/tmp/datadir/mysqlbin --socket /tmp/s.sock --lc-messages-dir=${PWD}/sql/share --verbose --large-pages=1 2018-03-23 12:51:18 139697428129984 [Note] sql/mysqld (mysqld 10.2.14-MariaDB-log) starting as process 25406 ... 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Uses event mutexes 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Compressed tables use zlib 1.2.11 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Using Linux native AIO 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Number of pools: 1 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Using SSE2 crc32 instructions 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Completed initialization of buffer pool 2018-03-23 12:51:18 139696883590912 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Highest supported file format is Barracuda. 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: 128 out of 128 rollback segments are active. 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Creating shared tablespace for temporary tables 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: File './ibtmp1' size is now 12 MB. 2018-03-23 12:51:18 139697428129984 [Note] InnoDB: 5.7.21 started; log sequence number 1620099 2018-03-23 12:51:18 139696713733888 [Note] InnoDB: Loading buffer pool(s) from /tmp/datadir/ib_buffer_pool 2018-03-23 12:51:18 139696713733888 [Note] InnoDB: Buffer pool(s) load completed at 180323 12:51:18 2018-03-23 12:51:18 139697428129984 [Note] Plugin 'FEEDBACK' is disabled. 2018-03-23 12:51:18 139697428129984 [Note] Reading of all Master_info entries succeded 2018-03-23 12:51:18 139697428129984 [Note] Added new Master_info '' to hash table 2018-03-23 12:51:18 139697428129984 [Note] sql/mysqld: ready for connections. Version: '10.2.14-MariaDB-log' socket: '/tmp/s.sock' port: 0 Source distribution $ grep -i huge /proc/25406/smaps | grep -v ' 0 kB' Private_Hugetlb: 8192 kB Private_Hugetlb: 2048 kB $ grep huge /proc/25406/numa_maps 7f0d74400000 default file=/SYSV00000000\040(deleted) huge 7f0dbd200000 default file=/SYSV00000000\040(deleted) huge dirty=4 N0=4 kernelpagesize_kB=2048 7f0dc5600000 default file=/SYSV00000000\040(deleted) huge 7f0dd1200000 default file=/SYSV00000000\040(deleted) huge dirty=1 N0=1 kernelpagesize_kB=2048 $ grep Huge /proc/meminfo AnonHugePages: 0 kB ShmemHugePages: 0 kB HugePages_Total: 940 HugePages_Free: 935 HugePages_Rsvd: 177 HugePages_Surp: 0 Hugepagesize: 2048 kB Ran again with --memlock (note needs ulimit -l > size) $ grep Huge /proc/meminfo AnonHugePages: 0 kB ShmemHugePages: 0 kB HugePages_Total: 940 HugePages_Free: 758 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB $ grep huge /proc/26020/numa_maps 7fe870400000 default file=/SYSV00000000\040(deleted) huge dirty=62 N0=62 kernelpagesize_kB=2048 7fe8b3a00000 default file=/SYSV00000000\040(deleted) huge dirty=66 N0=66 kernelpagesize_kB=2048 7fe8bd600000 default file=/SYSV00000000\040(deleted) huge dirty=53 N0=53 kernelpagesize_kB=2048 7fe8c8400000 default file=/SYSV00000000\040(deleted) huge dirty=1 N0=1 kernelpagesize_kB=2048 $ grep -i huge /proc/26020/smaps | grep -v ' 0 kB' Private_Hugetlb: 126976 kB Private_Hugetlb: 135168 kB Private_Hugetlb: 108544 kB Private_Hugetlb: 2048 kB
-rw-r--r--cmake/os/Linux.cmake2
-rw-r--r--config.h.cmake2
-rw-r--r--include/my_sys.h6
-rw-r--r--mysys/CMakeLists.txt2
-rw-r--r--mysys/my_largepage.c4
-rw-r--r--mysys/my_static.c2
-rw-r--r--sql/mysqld.cc4
7 files changed, 11 insertions, 11 deletions
diff --git a/cmake/os/Linux.cmake b/cmake/os/Linux.cmake
index b0680d92a1b..6c846570ea7 100644
--- a/cmake/os/Linux.cmake
+++ b/cmake/os/Linux.cmake
@@ -45,7 +45,7 @@ SET(_FILE_OFFSET_BITS 64)
# Linux specific HUGETLB /large page support
CHECK_SYMBOL_EXISTS(SHM_HUGETLB sys/shm.h HAVE_DECL_SHM_HUGETLB)
IF(HAVE_DECL_SHM_HUGETLB)
- SET(HAVE_LARGE_PAGES 1)
+ SET(HAVE_LINUX_LARGE_PAGES 1)
SET(HUGETLB_USE_PROC_MEMINFO 1)
SET(HAVE_LARGE_PAGE_OPTION 1)
ENDIF()
diff --git a/config.h.cmake b/config.h.cmake
index c18e17179fd..3e5a9a95397 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -394,7 +394,7 @@
#cmakedefine HAVE_GCC_C11_ATOMICS 1
#cmakedefine HAVE_SOLARIS_ATOMIC 1
#cmakedefine HAVE_DECL_SHM_HUGETLB 1
-#cmakedefine HAVE_LARGE_PAGES 1
+#cmakedefine HAVE_LINUX_LARGE_PAGES 1
#cmakedefine HUGETLB_USE_PROC_MEMINFO 1
#cmakedefine NO_FCNTL_NONBLOCK 1
#cmakedefine NO_ALARM 1
diff --git a/include/my_sys.h b/include/my_sys.h
index fb3e15b64a4..a7ab851a5fe 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -176,7 +176,7 @@ extern void *my_memdup(const void *from,size_t length,myf MyFlags);
extern char *my_strdup(const char *from,myf MyFlags);
extern char *my_strndup(const char *from, size_t length, myf MyFlags);
-#ifdef HAVE_LARGE_PAGES
+#ifdef HAVE_LINUX_LARGE_PAGES
extern uint my_get_large_page_size(void);
extern uchar * my_large_malloc(size_t size, myf my_flags);
extern void my_large_free(uchar *ptr);
@@ -184,7 +184,7 @@ extern void my_large_free(uchar *ptr);
#define my_get_large_page_size() (0)
#define my_large_malloc(A,B) my_malloc_lock((A),(B))
#define my_large_free(A) my_free_lock((A))
-#endif /* HAVE_LARGE_PAGES */
+#endif /* HAVE_LINUX_LARGE_PAGES */
void my_init_atomic_write(void);
#ifdef __linux__
@@ -242,7 +242,7 @@ extern int sf_leaking_memory; /* set to 1 to disable memleak detection */
extern void (*proc_info_hook)(void *, const PSI_stage_info *, PSI_stage_info *,
const char *, const char *, const unsigned int);
-#ifdef HAVE_LARGE_PAGES
+#ifdef HAVE_LINUX_LARGE_PAGES
extern my_bool my_use_large_pages;
extern uint my_large_page_size;
#endif
diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
index b9f92124cc3..26dbd953324 100644
--- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt
@@ -63,7 +63,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_C_COMPILER_ID MATCHES "SunPro")
PROPERTIES COMPILE_FLAGS "${CMAKE_CURRENT_SOURCE_DIR}/my_timer_cycles.il")
ENDIF()
-IF(HAVE_LARGE_PAGES)
+IF(HAVE_LINUX_LARGE_PAGES)
SET(MYSYS_SOURCES ${MYSYS_SOURCES} my_largepage.c)
ENDIF()
diff --git a/mysys/my_largepage.c b/mysys/my_largepage.c
index 59f815a9d87..dab63ae3817 100644
--- a/mysys/my_largepage.c
+++ b/mysys/my_largepage.c
@@ -15,7 +15,7 @@
#include "mysys_priv.h"
-#ifdef HAVE_LARGE_PAGES
+#ifdef HAVE_LINUX_LARGE_PAGES
#ifdef HAVE_SYS_IPC_H
#include <sys/ipc.h>
@@ -163,4 +163,4 @@ my_bool my_large_free_int(uchar *ptr)
}
#endif /* HAVE_DECL_SHM_HUGETLB */
-#endif /* HAVE_LARGE_PAGES */
+#endif /* HAVE_LINUX_LARGE_PAGES */
diff --git a/mysys/my_static.c b/mysys/my_static.c
index 08edf2c4200..f2a9fbb7335 100644
--- a/mysys/my_static.c
+++ b/mysys/my_static.c
@@ -59,7 +59,7 @@ USED_MEM* my_once_root_block=0; /* pointer to first block */
uint my_once_extra=ONCE_ALLOC_INIT; /* Memory to alloc / block */
/* from my_largepage.c */
-#ifdef HAVE_LARGE_PAGES
+#ifdef HAVE_LINUX_LARGE_PAGES
my_bool my_use_large_pages= 0;
uint my_large_page_size= 0;
#endif
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 01f5febd5a0..1c4fcaeca20 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -4318,7 +4318,7 @@ static int init_common_variables()
DBUG_PRINT("info",("%s Ver %s for %s on %s\n",my_progname,
server_version, SYSTEM_TYPE,MACHINE_TYPE));
-#ifdef HAVE_LARGE_PAGES
+#ifdef HAVE_LINUX_LARGE_PAGES
/* Initialize large page size */
if (opt_large_pages)
{
@@ -4333,7 +4333,7 @@ static int init_common_variables()
else
SYSVAR_AUTOSIZE(opt_large_pages, 0);
}
-#endif /* HAVE_LARGE_PAGES */
+#endif /* HAVE_LINUX_LARGE_PAGES */
#ifdef HAVE_SOLARIS_LARGE_PAGES
#define LARGE_PAGESIZE (4*1024*1024) /* 4MB */
#define SUPER_LARGE_PAGESIZE (256*1024*1024) /* 256MB */