1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Work around missing MSAN instrumentation

Let us skip the recently added test main.mysql-interactive if
an instrumented ncurses library is not available.

In InnoDB, let us work around an uninstrumented libnuma, by
declaring that the objects returned by numa_get_mems_allowed()
are initialized.
This commit is contained in:
Marko Mäkelä
2024-03-18 16:01:58 +02:00
parent 09d991d01c
commit 4592af2e84
2 changed files with 5 additions and 0 deletions

View File

@ -3,6 +3,8 @@
--echo #
source include/not_embedded.inc;
source include/not_windows.inc;
# this would need an instrumented ncurses library
source include/not_msan.inc;
error 0,1;
exec $MYSQL -V|grep -q readline;

View File

@ -82,6 +82,8 @@ struct set_numa_interleave_t
if (srv_numa_interleave) {
struct bitmask *numa_mems_allowed = numa_get_mems_allowed();
MEM_MAKE_DEFINED(numa_mems_allowed,
sizeof *numa_mems_allowed);
ib::info() << "Setting NUMA memory policy to"
" MPOL_INTERLEAVE";
if (set_mempolicy(MPOL_INTERLEAVE,
@ -1072,6 +1074,7 @@ inline bool buf_pool_t::chunk_t::create(size_t bytes)
if (srv_numa_interleave)
{
struct bitmask *numa_mems_allowed= numa_get_mems_allowed();
MEM_MAKE_DEFINED(numa_mems_allowed, sizeof *numa_mems_allowed);
if (mbind(mem, mem_size(), MPOL_INTERLEAVE,
numa_mems_allowed->maskp, numa_mems_allowed->size,
MPOL_MF_MOVE))