mariadb/cmake/os
Marko Mäkelä 3794673111 MDEV-28836: Memory alignment cleanup
Table_cache_instance: Define the structure aligned at
the CPU cache line, and remove a pad[] data member.
Krunal Bauskar reported this to improve performance on ARMv8.

aligned_malloc(): Wrapper for the Microsoft _aligned_malloc()
and the ISO/IEC 9899:2011 <stdlib.h> aligned_alloc().
Note: The parameters are in the Microsoft order (size, alignment),
opposite of aligned_alloc(alignment, size).
Note: The standard defines that size must be an integer multiple
of alignment. It is enforced by AddressSanitizer but not by GNU libc
on Linux.

aligned_free(): Wrapper for the Microsoft _aligned_free() and
the standard free().

HAVE_ALIGNED_ALLOC: A new test. Unfortunately, support for
aligned_alloc() may still be missing on some platforms.
We will fall back to posix_memalign() for those cases.

HAVE_MEMALIGN: Remove, along with any use of the nonstandard memalign().

PFS_ALIGNEMENT (sic): Removed; we will use CPU_LEVEL1_DCACHE_LINESIZE.

PFS_ALIGNED: Defined using the C++11 keyword alignas.

buf_pool_t::page_hash_table::create(),
lock_sys_t::hash_table::create():
lock_sys_t::hash_table::resize(): Pad the allocation size to an
integer multiple of the alignment.

Reviewed by: Vladislav Vaintroub
2022-06-21 16:59:49 +03:00
..
AIX.cmake MYSQL_MAINTAINER_MODE fixes 2021-04-22 17:52:08 +02:00
Cygwin.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
Darwin.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
FreeBSD.cmake Cleanup HAVE_MMAP_ALIGNED: one cmake check less 2020-04-04 14:55:51 +04: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
OpenBSD.cmake cmake OpenBSD copyright notice correction 2021-06-15 12:42:10 +10:00
OS400.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
SunOS.cmake HAVE_LARGE_PAGES no longer global 2020-04-05 17:20:50 +04:00
Windows.cmake Merge 10.5 into 10.6 2022-02-14 09:16:41 +02:00
WindowsCache.cmake MDEV-28836: Memory alignment cleanup 2022-06-21 16:59:49 +03:00