RFR: 8351927: Change VirtualThread implementation to use use FJP delayed task handling
Alan Bateman
alanb at openjdk.org
Tue Apr 8 14:29:50 UTC 2025
Follow up to JDK-8319447 to change the VirtualThread implementation to use FJP's delayed task handling.
The SPTE based implementation is not removed. It will continue to be used by tests. If custom schedulers are exposed in the future then they will use this implementation.
For timed-Object.wait, waitTimeoutExpired is changed to use lazySubmit to avoid signalling and increase the chance that the unparked virtual thread will continue on the current carrier. For timed-park, the timeout task is changed to reduced form of unpark that also uses lazySubmit, for the same reason.
`jcmd Thread.vthread_scheduler` is changed to no longer print the delay schedulers. Instead, the delayed task count will appear in the default scheduler output.
-------------
Commit messages:
- Merge branch 'master' into JDK-8351927
- Merge branch 'master' into JDK-8351927
- Merge branch 'master' into JDK-8351927
- Merge
- Merge branch 'pull/23702' into JDK-8351927
- Typo
- Address review comments
- Merge branch 'openjdk:master' into JDK-8319447
- Address review comments
- Update
- ... and 51 more: https://git.openjdk.org/jdk/compare/867a0301...30eba776
Changes: https://git.openjdk.org/jdk/pull/24030/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24030&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8351927
Stats: 405 lines in 8 files changed: 332 ins; 41 del; 32 mod
Patch: https://git.openjdk.org/jdk/pull/24030.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24030/head:pull/24030
PR: https://git.openjdk.org/jdk/pull/24030
More information about the serviceability-dev
mailing list