From 623f0b6bc61bbfb13fbe43e3beaa51481aacb398 Mon Sep 17 00:00:00 2001 From: Stefan Johansson Date: Wed, 24 Mar 2021 20:28:04 +0000 Subject: [PATCH] 8262235: Remove unnecessary logic in hugetlbfs_sanity_check() Reviewed-by: iwalulya, tschatzl --- src/hotspot/os/linux/os_linux.cpp | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp index f501569fefb..0e9f2427da9 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp @@ -3493,39 +3493,21 @@ int os::Linux::hugetlbfs_page_size_flag(size_t page_size) { } bool os::Linux::hugetlbfs_sanity_check(bool warn, size_t page_size) { - bool result = false; - // Include the page size flag to ensure we sanity check the correct page size. int flags = MAP_ANONYMOUS | MAP_PRIVATE | MAP_HUGETLB | hugetlbfs_page_size_flag(page_size); void *p = mmap(NULL, page_size, PROT_READ|PROT_WRITE, flags, -1, 0); if (p != MAP_FAILED) { - // We don't know if this really is a huge page or not. - FILE *fp = fopen("/proc/self/maps", "r"); - if (fp) { - while (!feof(fp)) { - char chars[257]; - long x = 0; - if (fgets(chars, sizeof(chars), fp)) { - if (sscanf(chars, "%lx-%*x", &x) == 1 - && x == (long)p) { - if (strstr (chars, "hugepage")) { - result = true; - break; - } - } - } - } - fclose(fp); - } + // Mapping succeeded, sanity check passed. munmap(p, page_size); + return true; } - if (warn && !result) { - warning("HugeTLBFS is not supported by the operating system."); + if (warn) { + warning("HugeTLBFS is not configured or not supported by the operating system."); } - return result; + return false; } bool os::Linux::shm_hugetlbfs_sanity_check(bool warn, size_t page_size) {