mariadb/cmake/os
Marko Mäkelä 072c7dc774 MDEV-38671: Default to large innodb_buffer_pool_size_max (except on AIX)
my_large_virtual_alloc(): If large page allocation fails, clear
my_use_large_pages. Outside large page allocation (and IBM AIX),
invoke mmap(2) with PROT_NONE so that no page table entries will
have to be allocated. Also, fix the error reporting.

my_virtual_mem_commit(): Do not set the Linux specific flag MAP_POPULATE
because it would introduce a performance regression on startup.
There is a better, system-wide way to disable the overcommit:

	sudo sysctl vm.overcommit_memory=2

HAVE_UNACCESSIBLE_AFTER_MEM_DECOMMIT: Remove. We will always make
the virtual memory unaccessible, so that the operating system
can deallocate the page table entries.

buf_pool_t::create(): Skip the my_virtual_mem_commit() on AIX only.

buf_pool_t::page_guess(): Unconditionally check if the pointer is
within the currently allocated buffer pool.

innodb_buffer_pool_size_max: On 64-bit systems other than IBM AIX,
we will default to 8 TiB.

On 32-bit systems, we retain the default innodb_buffer_pool_size_max=0,
that is, by default, SET GLOBAL innodb_buffer_pool_size=... will be
unable to increase from the initial value.

There is no functional change to the startup logic that adjusts
innodb_buffer_pool_size_max to be at least innodb_buffer_pool_size
rounded up to the extent size (2 MiB on 32-bit, 8 MiB on 64-bit).
2026-03-02 11:30:56 +02:00
..
AIX.cmake MDEV-33379 innodb_log_file_buffering=OFF causes corruption on bcachefs 2024-02-20 11:22:45 +02:00
Cygwin.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
FreeBSD.cmake Remove HAVE_BROKEN_REALPATH 2024-10-16 11:46:19 +11:00
GNU.cmake Add GNU/Hurd cmake configuration 2019-05-21 17:34:48 +04:00
HP-UX.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
Linux.cmake Merge pull request #1221 from grooverdan/10.4-MDEV-18851-multiple-sized-large-page-support 2020-04-02 23:54:08 +04:00
OS400.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
SunOS.cmake Replace deprecated CMAKE_COMPILER_IS_GNU(CC|CXX) with CMAKE_(C|CXX)_COMPILER_ID 2025-06-03 18:16:35 +10:00
Windows.cmake MDEV-38671: Default to large innodb_buffer_pool_size_max (except on AIX) 2026-03-02 11:30:56 +02:00
WindowsCache.cmake Rocksdb: Add missing getauxval() test for Linux 2025-06-13 14:08:22 +10:00