On Wed, 14 Aug 2024 20:53:33 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

This pull request has now been integrated.

Changeset: 69bd227e
Author:    Markus Grönlund <mgron...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/69bd227e6c497eb82c46ab85125610c0b44dc04e
Stats:     226 lines in 6 files changed: 189 ins; 10 del; 27 mod

8338417: Explicitly pin a virtual thread before acquiring the JFR string pool 
monitor

Reviewed-by: alanb, egahlin, dholmes

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

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

Reply via email to