RFR: 8220795: Introduce TimedYield utility to improve time-to-safepoint on Windows
Robin Westberg
robin.westberg at oracle.com
Fri Apr 5 08:05:28 UTC 2019
Hi all,
Please review the following change that modifies the way safepointing waits for other threads to stop. As part of JDK-8203469, os::naked_short_nanosleep was used for all platforms. However, on Windows, this function has millisecond granularity which is too coarse and caused performance regressions. Instead, we can take advantage of the fact that Windows can tell us if anyone else is waiting to run on the current cpu. For other platforms the original waiting is used.
Various benchmarks (specjbb2015, specjm2008) show better numbers for Windows and no regressions for Linux.
Issue: https://bugs.openjdk.java.net/browse/JDK-8220795
Webrev: http://cr.openjdk.java.net/~rwestberg/8220795/webrev.00/
Testing: tier1
Best regards,
Robin
More information about the hotspot-runtime-dev
mailing list