Integrated: 8351927: Change VirtualThread implementation to use use FJP delayed task handling

Alan Bateman alanb at openjdk.org
Wed Apr 9 12:39:48 UTC 2025


On Thu, 13 Mar 2025 10:48:14 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 6c93ad42
Author:    Alan Bateman <alanb at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/6c93ad42f38b49ea96155340c4b6bbedfcef2a90
Stats:     405 lines in 8 files changed: 332 ins; 41 del; 32 mod

8351927: Change VirtualThread implementation to use use FJP delayed task handling

Reviewed-by: vklang

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

PR: https://git.openjdk.org/jdk/pull/24030


More information about the serviceability-dev mailing list