-
Enhancement
-
Resolution: Unresolved
-
P3
-
19
During large page setup we sanity check usage of large pages by doing test mappings using the different sizes available on the system. Currently we consider large pages enabled if any of the page sizes pass the sanity check, but we still allow any large page sizes to be tried later on.
For example, even if 1G pages fail the sanity check, a reservation can try using 1G pages later on. For a simpler user model it makes sense to only allow large page sizes that pass the sanity check.
Any page size that fail the sanity check should be removed from os::_page_sizes to prevent usage of that page size. We also need to make sure os::large_page_size() is consistent after the sanity check, one way to do this is to have it always return os::_page_sizes.largest().
For example, even if 1G pages fail the sanity check, a reservation can try using 1G pages later on. For a simpler user model it makes sense to only allow large page sizes that pass the sanity check.
Any page size that fail the sanity check should be removed from os::_page_sizes to prevent usage of that page size. We also need to make sure os::large_page_size() is consistent after the sanity check, one way to do this is to have it always return os::_page_sizes.largest().