Merge pull request #4565 from benmenadue/master
Use malloc instead of posix_memalign for small (<= sizeof(void *)) alignments
Этот коммит содержится в:
Коммит
2e74befa13
@ -74,7 +74,7 @@ void *mca_mpool_base_alloc(size_t size, opal_info_t *info, const char *hints)
|
||||
|
||||
mpool = mca_mpool_base_module_lookup (hints);
|
||||
if (NULL != mpool) {
|
||||
mem = mpool->mpool_alloc (mpool, size, 0, 0);
|
||||
mem = mpool->mpool_alloc (mpool, size, sizeof(void *), 0);
|
||||
}
|
||||
|
||||
if (NULL == mem) {
|
||||
|
@ -31,7 +31,11 @@ static void *mca_mpool_default_alloc (mca_mpool_base_module_t *mpool, size_t siz
|
||||
#if HAVE_POSIX_MEMALIGN
|
||||
void *addr = NULL;
|
||||
|
||||
(void) posix_memalign (&addr, align, size);
|
||||
if (align <= sizeof(void *)) {
|
||||
addr = malloc (size);
|
||||
} else {
|
||||
(void) posix_memalign (&addr, align, size);
|
||||
}
|
||||
return addr;
|
||||
#else
|
||||
void *addr, *ret;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user