diff options
author | Jan Huwald <jh@sotun.de> | 2013-06-14 11:23:02 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2013-06-14 11:23:02 (GMT) |
commit | c1f40ceabf87ff9687afb0433d6ec797f0e04d43 (patch) | |
tree | d36dae4ebaa1043f6abe32fa653eb31e86116d68 | |
parent | a5d69600f7fb83a415de0a2ef3d1d9205e402021 (diff) |
mmalloc: only alloc via hugetlb memory areas >= 1 GB
-rw-r--r-- | mmalloc.hpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mmalloc.hpp b/mmalloc.hpp index 8e2ac93..37c9af1 100644 --- a/mmalloc.hpp +++ b/mmalloc.hpp @@ -45,7 +45,8 @@ void *malloc_mmap(size_t size) { template<typename T> T* mmalloc() { void *r; - if ((r = malloc_hugetlbfs(sizeof(T))) == MAP_FAILED) + size_t sz = sizeof(T); + if ((sz < 1024*1024*1024) || ((r = malloc_hugetlbfs(sizeof(T))) == MAP_FAILED)) if ((r = malloc_mmap(sizeof(T))) == MAP_FAILED) exit(EXIT_FAILURE); return (T*) r; |