RFR: 8305670: Performance regression in LockSupport.unpark with lots of idle threads

Daniel D. Daugherty dcubed at openjdk.org
Fri Apr 7 21:09:42 UTC 2023


On Fri, 7 Apr 2023 20:08:11 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

> A trivial fix to only check the ThreadsList in a `ThreadsListHandle::cv_internal_thread_to_JavaThread()`
> call in fastdebug or slowdebug bits by default. The `-XX:+EnableThreadSMRExtraValidityChecks` option
> can enable the check in release bits and the `-XX:-EnableThreadSMRExtraValidityChecks` option can
> disable the check in fastdebug or slowdebug bits.
> 
> fastdebug or slowdebug bits will now fail an `assert()` if the `java_thread` is NOT found on the
> ThreadsList (which should never happen).

It looks like a couple of tests are unhappy with the new code:

- runtime/handshake/HandshakeWalkOneExitTest.java
- runtime/handshake/HandshakeDirectTest.java

I'm going to switch back to draft while I sort this out...

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

PR Comment: https://git.openjdk.org/jdk/pull/13393#issuecomment-1500648464


More information about the hotspot-runtime-dev mailing list