RFR: JDK-8261894: Remove support for UseSHM [v3]

Thomas Stuefe stuefe at openjdk.org
Thu Oct 5 06:03:26 UTC 2023


> We decided to ditch the SystemV-based large-page handling code in Linux a while ago. For history and details, please see JBS issue and the accompanying [CSR](https://bugs.openjdk.org/browse/JDK-8310841).
> 
> This patch
> 
> 1) removes the support for `-XX:+UseSHM` and all its backing code. It obsoletes `UseSHM`.
> 
> 2) `UseSHM` had just been the negation of `UseHugeTLBFS` (in hindsight, a single mode switch would have been better). The POSIX-mmap-based implementation behind `UseHugeTLBFS` remains the sole implementation of static large pages in the JVM. The flag `UseHugeTLBFS` itself is not needed anymore since there is nothing to distinguish it from. Therefore I removed that flag, too.
> 
> 3) `UseLargePages` and `UseTransparentHugePages` are unaffected. Their meaning remains the same:
>    `UseLargePages` => using static hugepages
>    `UseLargePages` + `UseTransparentHugePages` => using THPs
>    `UseTransparentHugePages` => using THPs, enables also `UseLargePages`
> 
> This allows for many code removals and simplifications. We can ditch the SystemV large page setup and management,  its sanity tests, its regression tests, and associated documentation. We can also lose some of the tests, code, and documentation surrounding HugeTLBFS.
> 
> Testing: I manually ran many tests with many different huge page settings on Linux x64. GHAs are green (one remaining x86 error is unrelated).
> 
> Note that I will be out on vacation in September and may not respond to reviews in a timely fashion.

Thomas Stuefe has updated the pull request incrementally with one additional commit since the last revision:

  undo manpage changes

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14970/files
  - new: https://git.openjdk.org/jdk/pull/14970/files/f57cf1be..01fe8888

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14970&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14970&range=01-02

  Stats: 35 lines in 1 file changed: 35 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/14970.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14970/head:pull/14970

PR: https://git.openjdk.org/jdk/pull/14970


More information about the hotspot-runtime-dev mailing list