On Wed, 21 Aug 2024 18:26:20 GMT, Markus Grönlund <mgron...@openjdk.org> wrote:

>> Greetings,
>> 
>> Explicitly pin a virtual thread before acquiring the JFR string pool monitor 
>> because migrating a carrier thread local event writer object onto another 
>> carrier thread is impossible.
>> 
>> During event commit, the thread is in a critical section because it has 
>> loaded a carrier thread local event writer object. For virtual threads, a 
>> contended monitor, such as a synchronized block, is a point where a thread 
>> could become unmounted.
>> 
>> A monitor guards the JFR string pool, but remounting a virtual thread onto 
>> another carrier is impossible because of the event writer.
>> 
>> Therefore, it's imperative to use explicit pin constructs to prevent 
>> unmounting at this location. 
>> 
>> Testing: jdk_jfr
>> 
>> Thanks
>> Markus
>
> Markus Grönlund has updated the pull request incrementally with five 
> additional commits since the last revision:
> 
>  - pin state conditional delivered using event writer object
>  - Merge branch '8338417' of github.com:mgronlun/jdk into 8338417
>  - update test comment
>  - hoist pinVirtualThread
>  - 8338417

Marked as reviewed by egahlin (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/20588#pullrequestreview-2255152669

Reply via email to