summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2013-06-14 11:23:02 (GMT)
committerJan Huwald <jh@sotun.de>2013-06-14 11:23:02 (GMT)
commitc1f40ceabf87ff9687afb0433d6ec797f0e04d43 (patch)
treed36dae4ebaa1043f6abe32fa653eb31e86116d68
parenta5d69600f7fb83a415de0a2ef3d1d9205e402021 (diff)
mmalloc: only alloc via hugetlb memory areas >= 1 GB
-rw-r--r--mmalloc.hpp3
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;
contact: Jan Huwald // Impressum