[jdk21u-dev] RFR: 8315373: Change VirtualThread to unmount after freezing, re-mount before thawing

Severin Gehwolf sgehwolf at openjdk.org
Thu Feb 15 12:40:31 UTC 2024


On Fri, 9 Feb 2024 09:56:12 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> This is a series of Loom backports that brings in the fixes from JDK 22 and mainline into JDK 21, where Loom is production-ready. This batch fixes a few thread state and JVMTI problems.
>> 
>> Unfortunately, these backports are tied together, as they change the same code a few times. It is very hard to make them into separate backports without breaking stuff along the way, so instead I clobbered them together in this PR. They follow the application order from mainline. All patches together touch only the Virtual Thread parts, so the risk for the rest of the code should be minimal.
>> 
>> Brief explanation of fixes:
>> 
>> * [JDK-8315373](https://bugs.openjdk.org/browse/JDK-8315373): In mainline since Sep 2023, there is no bug tail. Changes how VTs interact with JVMTI. We want this fix to provide the ground for the rest of backports. Notably, it makes [JDK-8312777](https://bugs.openjdk.org/browse/JDK-8312777) backport clean. 
>> * [JDK-8312498](https://bugs.openjdk.org/browse/JDK-8312498): In mainline since Sep 2023. There is a bug tail, [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818). Fixes what thread state VT reports when timed-parked. This fixes the actual Loom bug.
>> * [JDK-8312777](https://bugs.openjdk.org/browse/JDK-8312777): In mainline since Oct 2023, there is no bug tail. Fixes the JVMTI race with mount/unmount events. Makes [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818) backport clean. This fixes the actual Loom bug.
>> * [JDK-8321270](https://bugs.openjdk.org/browse/JDK-8321270): In mainline since Dec 2023, there is no bug tail. Makes [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818) a clean backport. This fixes the actual Loom performance problem.
>> * [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818): In mainline since Jan 2023. Fixes the bug introduced by [JDK-8312498](https://bugs.openjdk.org/browse/JDK-8312498). Has two additional follow-ups: [JDK-8323002](https://bugs.openjdk.org/browse/JDK-8323002) and [JDK-8323296](https://bugs.openjdk.org/browse/JDK-8323296).
>> * [JDK-8323002](https://bugs.openjdk.org/browse/JDK-8323002): In mainline since Jan 2023. Follow-up test fix for [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818). Test-only change.
>> * [JDK-8323296](https://bugs.openjdk.org/browse/JDK-8323296): In mainline since Jan 2023. Follow-up test fix for [JDK-8322818](https://bugs.openjdk.org/browse/JDK-8322818). Test-only change.
>> * [JDK-8316924](https://bugs.openjdk.org/browse/JDK-8316924): In...
>
>> > Assuming Alan is fine with it, do you see other problems with the PR like this?
>> 
>> Normally I think some of these changes would only be backport if really need but given the churn in this newish code then it is safer to backport these as a group. I looked through the diffs and everything looks okay. 
> 
> Thank you!
> 
> @jerboaa, anything else you want to be covered before I start doing the formal fix-requests for 21u-dev?
> 
>> You may have to add JDK-8316924 to the list as the test ParkALot had to be dialed down for larger test systems.
> 
> Right. Added.

@shipilev Update: The general consensus to this seems to be that there are no objections. It would be preferable to get this into 21.0.4 (early after 21.0.3 rampdown starts in end of Feb) unless there are very good reasons to get it into 21.0.3.

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

PR Comment: https://git.openjdk.org/jdk21u-dev/pull/245#issuecomment-1941079614


More information about the jdk-updates-dev mailing list