RFR: 8271195: Use largest available large page size smaller than LargePageSizeInBytes when available

Swati Sharma duke at openjdk.java.net
Wed Feb 2 22:08:44 UTC 2022


Hi Team,

In this patch I have fixed two issues related to large pages, following is the summary of changes :-

1. Patch fixes existing large page allocation functionality where if a commit over 1GB pages fails allocation should happen over next small page size i.e. 2M where as currently its happening over 4kb pages resulting into significant TLB miss penalty.
Patch includes new JTREG Test case covering various scenarios for checking the correct explicit page allocation according ​to the 1G, 2M, 4K priority.
2. While attempting commit over larger pages we first try to reserve requested bytes over the virtual address space, in case commit to large page fails we should be un reserving entire reservation to avoid leaving any leaks in virtual address space.

​
Please find below the performance data with and without patch for the JMH benchmark included with the patch.

![image](https://user-images.githubusercontent.com/96874289/152189587-4822a4ca-f5e2-4621-b405-0da941485143.png)


Please review and provide your valuable comments.



Thanks,
Swati Sharma
Runtime Software Development Engineer 
Intel

-------------

Commit messages:
 - 8271195: Resolving jcheck failure.
 - 8271195: Use largest available large page size smaller than LargePageSizeInBytes when available

Changes: https://git.openjdk.java.net/jdk/pull/7326/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7326&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8271195
  Stats: 352 lines in 5 files changed: 323 ins; 21 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7326.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7326/head:pull/7326

PR: https://git.openjdk.java.net/jdk/pull/7326



More information about the hotspot-gc-dev mailing list