# HG changeset patch # User iveresov # Date 1315368231 25200 # Node ID 23830453e0837cb14ce4d90075dbf4f418ad59f9 # Parent 71714e44d255028dce6939e2de45d30a8819e166 7087583: Hotspot fails to allocate heap with mmap(MAP_HUGETLB) Summary: Try using small pages when transparent huge pages allocation fails Reviewed-by: ysr diff -r 71714e44d255 -r 23830453e083 hotspot/src/os/linux/vm/os_linux.cpp --- a/hotspot/src/os/linux/vm/os_linux.cpp Fri Sep 02 21:33:57 2011 -0700 +++ b/hotspot/src/os/linux/vm/os_linux.cpp Tue Sep 06 21:03:51 2011 -0700 @@ -2531,10 +2531,14 @@ } return true; } - return false; - } - - return commit_memory(addr, size, exec); + // Fall through and try to use small pages + } + + 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) {