RFR: 8369467: Rdtsc: Avoid initialize_elapsed_counter when UseFastUnorderedTimeStamps will be disabled

Axel Boldt-Christmas aboldtch at openjdk.org
Thu Oct 9 06:37:45 UTC 2025


The feature to use rdtsc when it is not invariant requires us to set `UseFastUnorderedTimeStamps`. However, the current implementation always does `do_time_measurements` first, which adds an accumulative 3 ms of sleeps during bootstrapping. While most modern hardware supports invariant tsc, we have observed that many virtualized environments disable this even if it is running on supported hardware. Which means that doing this adds to our startup time even if the feature is never used on many common deployments.

I suggest we do some checking before deciding to call `initialize_elapsed_counter` and avoid it if we know we will not use rdtsc regardless of the outcome.

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

Depends on: https://git.openjdk.org/jdk/pull/27712

Commit messages:
 - 8369467: Rdtsc: Avoid initialize_elapsed_counter when UseFastUnorderedTimeStamps will be disabled

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

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


More information about the hotspot-dev mailing list