RFR: JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used

Thomas Stuefe stuefe at openjdk.org
Fri Aug 4 18:32:52 UTC 2023


We don't warn the user if `+UseTransparentHugePages ` were specified (and nothing else, but this implies `+UseLargePages`), but the system does not support THPs.

We used to have warnings in the code, but I checked and they never really worked (I tried older versions of the JDK). The reason is that THP detection had been broken. The broken detection always reported success even if THPs are disabled, so the user would never have seen this warning even when we had it. 

THP detection has since been fixed with  [JDK-8310233](https://bugs.openjdk.org/browse/JDK-8310233), but we still don't warn.

The patch re-introduces the warning, with the same text as it used to have, and using the warning level of UL with the "pagesize" tag - that's what we do for static hugepage warnings too.

Before:

thomas at starfish$ ./images/jdk/bin/java -XX:+UseTransparentHugePages -version
openjdk version "20-ea" 2023-03-21
OpenJDK Runtime Environment SapMachine (build 20-ea+32)
OpenJDK 64-Bit Server VM SapMachine (build 20-ea+32, mixed mode, sharing)


Now:

thomas at starfish$ ./images/jdk/bin/java -XX:+UseTransparentHugePages -version
[0.001s][warning][pagesize] TransparentHugePages is not supported by the operating system.
openjdk version "22-internal" 2024-03-19
OpenJDK Runtime Environment (fastdebug build 22-internal-adhoc.thomas.source)
OpenJDK 64-Bit Server VM (fastdebug build 22-internal-adhoc.thomas.source, mixed mode, sharing)

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

Commit messages:
 - JDK-8313782-Add-user-facing-warning-if-THPs-are-enabled-but-cannot-be-used

Changes: https://git.openjdk.org/jdk/pull/15158/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15158&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8313782
  Stats: 13 lines in 1 file changed: 5 ins; 3 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/15158.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15158/head:pull/15158

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


More information about the hotspot-runtime-dev mailing list