< prev index next >
src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.cpp
Print this page
*** 44,57 ****
#define ZFILESYSTEM_HUGETLBFS "hugetlbfs"
// Sysfs file for transparent huge page on tmpfs
#define ZFILENAME_SHMEM_ENABLED "/sys/kernel/mm/transparent_hugepage/shmem_enabled"
- // Default mount points
- #define ZMOUNTPOINT_TMPFS "/dev/shm"
- #define ZMOUNTPOINT_HUGETLBFS "/hugepages"
-
// Java heap filename
#define ZFILENAME_HEAP "java_heap"
// Support for building on older Linux systems
#ifndef __NR_memfd_create
--- 44,53 ----
*** 76,85 ****
--- 72,95 ----
#endif
#ifndef HUGETLBFS_MAGIC
#define HUGETLBFS_MAGIC 0x958458f6
#endif
+ // Preferred tmpfs mount points, ordered by priority
+ static const char* z_preferred_tmpfs_mountpoints[] = {
+ "/dev/shm",
+ "/run/shm",
+ NULL
+ };
+
+ // Preferred tmpfs mount points, ordered by priority
+ static const char* z_preferred_hugetlbfs_mountpoints[] = {
+ "/dev/hugepages",
+ "/hugepages",
+ NULL
+ };
+
static int z_memfd_create(const char *name, unsigned int flags) {
return syscall(__NR_memfd_create, name, flags);
}
bool ZBackingFile::_hugetlbfs_mmap_retry = true;
*** 164,177 ****
return fd;
}
int ZBackingFile::create_file_fd(const char* name) const {
const char* const filesystem = ZLargePages::is_explicit() ? ZFILESYSTEM_HUGETLBFS : ZFILESYSTEM_TMPFS;
! const char* const mountpoint = ZLargePages::is_explicit() ? ZMOUNTPOINT_HUGETLBFS : ZMOUNTPOINT_TMPFS;
// Find mountpoint
! ZBackingPath path(filesystem, mountpoint);
if (path.get() == NULL) {
log_error(gc, init)("Use -XX:ZPath to specify the path to a %s filesystem", filesystem);
return -1;
}
--- 174,187 ----
return fd;
}
int ZBackingFile::create_file_fd(const char* name) const {
const char* const filesystem = ZLargePages::is_explicit() ? ZFILESYSTEM_HUGETLBFS : ZFILESYSTEM_TMPFS;
! const char** const mountpoints = ZLargePages::is_explicit() ? z_preferred_hugetlbfs_mountpoints : z_preferred_tmpfs_mountpoints;
// Find mountpoint
! ZBackingPath path(filesystem, mountpoints);
if (path.get() == NULL) {
log_error(gc, init)("Use -XX:ZPath to specify the path to a %s filesystem", filesystem);
return -1;
}
< prev index next >