On Mon, 12 May 2025 14:01:16 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> Data structures that are accessed by both virtual threads and their carriers 
>> require the virtual thread to pin the continuation to avoid potential 
>> deadlock. A deadlock can arise when a virtual thread is preempted, is 
>> selected and scheduled to be the next owner of the lock/resource, but can't 
>> execute because all carriers are blocking on the same lock/resource. There 
>> are a small number of places that need to pin. One that was missed is the 
>> the notification to the thread container when threads are started or 
>> terminate. This is not currently an issue at this time but it is a potential 
>> hazard for ongoing and future work that will add further scheduling points 
>> to the code.  Continuation.pin/unpin have intrinsics since JDK-8338745, and 
>> Continuation is initialized early in startup. Finally, the changes have been 
>> in the loom repo for several months with no issues.
>> 
>> Testing tier1-5, quick statup/footprint, noreg-hard
>
> Alan Bateman has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 10 additional 
> commits since the last revision:
> 
>  - Fix/improve comment
>  - Merge branch 'master' into JDK-8350765
>  - Merge branch 'master' into JDK-8350765
>  - No need to used qualified name
>  - Merge branch 'master' into JDK-8350765
>  - Update
>  - Merge branch 'master' into JDK-8350765
>  - Add method to ContinuationSupport
>  - Missing /
>  - Initial commit

Thank you for the update Alan. The change looks reasonable to me.

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

Marked as reviewed by jpai (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/23810#pullrequestreview-2836451768

Reply via email to