mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8262235: Remove unnecessary logic in hugetlbfs_sanity_check()
Reviewed-by: iwalulya, tschatzl
This commit is contained in:
parent
1a13c9ef83
commit
623f0b6bc6
1 changed files with 5 additions and 23 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue