added jemalloc configuration to CMake for CPU_SINWAIT (#23898)

This commit is contained in:
daMaex
2019-10-31 08:02:20 +01:00
committed by Ovahlord
parent 7e5e553bac
commit abd3d58d57
2 changed files with 10 additions and 2 deletions

View File

@@ -28,6 +28,14 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT NOJEM)
set(JEM_MADFREE_DEF "#undef")
endif()
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
set(JEM_CPU_SPINWAIT "")
set(JEM_HAVE_CPU_SPINWAIT 0)
else()
set(JEM_CPU_SPINWAIT "__asm__ volatile\(\"pause\"\)")
set(JEM_HAVE_CPU_SPINWAIT 1)
endif()
# Create the header, so we can use it
configure_file(
"${CMAKE_SOURCE_DIR}/dep/jemalloc/jemalloc_internal_defs.h.in.cmake"

View File

@@ -33,9 +33,9 @@
* Hyper-threaded CPUs may need a special instruction inside spin loops in
* order to yield to another virtual CPU.
*/
#define CPU_SPINWAIT __asm__ volatile("pause")
#define CPU_SPINWAIT @JEM_CPU_SPINWAIT@
/* 1 if CPU_SPINWAIT is defined, 0 otherwise. */
#define HAVE_CPU_SPINWAIT 1
#define HAVE_CPU_SPINWAIT @JEM_HAVE_CPU_SPINWAIT@
/*
* Number of significant bits in virtual addresses. This may be less than the