1 #include "libpbd-config.h"
6 #include "pbd/malign.h"
14 static const int CPU_CACHE_ALIGN
= 64;
16 static const int CPU_CACHE_ALIGN
= 16; /* arguably 32 on most arches, but it matters less */
19 int cache_aligned_malloc (void** memptr
, size_t size
)
21 #ifdef NO_POSIX_MEMALIGN
22 if (((*memptr
) = malloc (size
)) == 0) {
23 fatal
<< string_compose (_("Memory allocation error: malloc (%1 * %2) failed (%3)"),
24 CPU_CACHE_ALIGN
, size
, strerror (errno
)) << endmsg
;
30 if (posix_memalign (memptr
, CPU_CACHE_ALIGN
, size
)) {
31 fatal
<< string_compose (_("Memory allocation error: posix_memalign (%1 * %2) failed (%3)"),
32 CPU_CACHE_ALIGN
, size
, strerror (errno
)) << endmsg
;