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