diff options
Diffstat (limited to 'storage/xtradb/buf/buf0buf.cc')
-rw-r--r-- | storage/xtradb/buf/buf0buf.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/storage/xtradb/buf/buf0buf.cc b/storage/xtradb/buf/buf0buf.cc index 37b9eaac9c2..6e7f0e44c79 100644 --- a/storage/xtradb/buf/buf0buf.cc +++ b/storage/xtradb/buf/buf0buf.cc @@ -1235,10 +1235,11 @@ buf_chunk_init( #ifdef HAVE_LIBNUMA if (srv_numa_interleave) { + struct bitmask *numa_mems_allowed = numa_get_mems_allowed(); int st = mbind(chunk->mem, chunk->mem_size, MPOL_INTERLEAVE, - numa_all_nodes_ptr->maskp, - numa_all_nodes_ptr->size, + numa_mems_allowed->maskp, + numa_mems_allowed->size, MPOL_MF_MOVE); if (st != 0) { ib_logf(IB_LOG_LEVEL_WARN, @@ -1645,11 +1646,13 @@ buf_pool_init( #ifdef HAVE_LIBNUMA if (srv_numa_interleave) { + struct bitmask *numa_mems_allowed = numa_get_mems_allowed(); + ib_logf(IB_LOG_LEVEL_INFO, "Setting NUMA memory policy to MPOL_INTERLEAVE"); if (set_mempolicy(MPOL_INTERLEAVE, - numa_all_nodes_ptr->maskp, - numa_all_nodes_ptr->size) != 0) { + numa_mems_allowed->maskp, + numa_mems_allowed->size) != 0) { ib_logf(IB_LOG_LEVEL_WARN, "Failed to set NUMA memory policy to" " MPOL_INTERLEAVE (error: %s).", |