mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 01:54:47 +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 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.
|
// 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);
|
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);
|
void *p = mmap(NULL, page_size, PROT_READ|PROT_WRITE, flags, -1, 0);
|
||||||
|
|
||||||
if (p != MAP_FAILED) {
|
if (p != MAP_FAILED) {
|
||||||
// We don't know if this really is a huge page or not.
|
// Mapping succeeded, sanity check passed.
|
||||||
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);
|
|
||||||
}
|
|
||||||
munmap(p, page_size);
|
munmap(p, page_size);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (warn && !result) {
|
if (warn) {
|
||||||
warning("HugeTLBFS is not supported by the operating system.");
|
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) {
|
bool os::Linux::shm_hugetlbfs_sanity_check(bool warn, size_t page_size) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue