From 0e56d120fdd21daefdf0a1ea18da7e745a08af73 Mon Sep 17 00:00:00 2001 From: iveresov Date: Tue, 6 Sep 2011 21:03:51 -0700 Subject: [PATCH] 7087583: Hotspot fails to allocate heap with mmap(MAP_HUGETLB) Summary: Try using small pages when transparent huge pages allocation fails Reviewed-by: ysr --- src/os/linux/vm/os_linux.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/os/linux/vm/os_linux.cpp b/src/os/linux/vm/os_linux.cpp index 3b0996a98..f1e6f1597 100644 --- a/src/os/linux/vm/os_linux.cpp +++ b/src/os/linux/vm/os_linux.cpp @@ -2531,10 +2531,14 @@ bool os::commit_memory(char* addr, size_t size, size_t alignment_hint, } return true; } - return false; + // Fall through and try to use small pages } - return commit_memory(addr, size, exec); + if (commit_memory(addr, size, exec)) { + realign_memory(addr, size, alignment_hint); + return true; + } + return false; } void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { -- GitLab