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