RFR: 8256155: 2M large pages for code when LargePageSizeInBytes is set to 1G for heap
sjohanss at openjdk.java.net
Thu Nov 12 11:39:55 UTC 2020
On Wed, 11 Nov 2020 01:48:46 GMT, Marcus G K Williams <github.com+168222+mgkwill at openjdk.org> wrote:
> Use 2m pages for executable large
> pages and in large page requests less
> than 1g on linux.
> - Add os::exec_large_page_size() that
> returns 2m as size
> - Add os::select_large_page_size() to return
> correct large page size for size_t bytes
> - Add 2m size to _page_sizes array
> - Update reserve_memory_special methods
> to set/use large_page_size based on exec
> - Update large page not reserved warnings
> to include large_page_size attempted
> - Update TestLargePageUseForAuxMemory.java
> to expect 2m large pages in some instances
> Signed-off-by: Marcus G K Williams <marcus.williams at intel.com>
Hi and welcome :)
I haven't started reviewing the code in detail but a first quick glance raised a couple of questions/comments:
* Why do we have a special case for `exec` when selecting a large page size?
* If we need the special case, `exec_large_page_size()` should not be hard code to return 2m but rather use `os::default_large_page_size()`.
More information about the hotspot-gc-dev