RFR: 8220795: Introduce TimedYield utility to improve time-to-safepoint on Windows
David Holmes
david.holmes at oracle.com
Fri Apr 5 08:49:54 UTC 2019
Hi Robin,
On 5/04/2019 6:05 pm, Robin Westberg wrote:
> 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.
Can't you just make the new code the implementation of
os::naked_short_nanosleep on Windows and avoid adding yet another
sleep/yield abstraction? If Windows nanosleep only has millisecond
granularity then it's broken.
Thanks,
David
-----
> 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