RFR: JDK-8261894: Remove support for UseSHM [v4]
Thomas Stuefe
stuefe at openjdk.org
Mon Oct 9 13:04:53 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
- Merge branch 'openjdk:master' into JDK-8261894-Obsolete-the-UseSHM-and-UseHugeTLBFS-flags
- undo manpage changes
- Merge branch 'openjdk:master' into JDK-8261894-Obsolete-the-UseSHM-and-UseHugeTLBFS-flags
- test
- JDK-8261894-Obsolete-the-UseSHM-and-UseHugeTLBFS-flags
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14970/files
- new: https://git.openjdk.org/jdk/pull/14970/files/01fe8888..f9da57bb
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14970&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14970&range=02-03
Stats: 6465 lines in 125 files changed: 4721 ins; 1086 del; 658 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