RFR: 8320239: add dynamic switch for JvmtiVTMSTransitionDisabler sync protocol

Serguei Spitsyn sspitsyn at openjdk.org
Thu Nov 16 12:41:38 UTC 2023


This is an update for a performance/scalability enhancement.

The `JvmtiVTMSTransitionDisabler`sync protocol is on a performance critical path of the virtual threads mount state transitions (VTMS transitions). It has a noticeable performance overhead (about 10%) which contributes to the combined JVMTI performance overhead when Java apps are executed with loaded JVMTI agents.

Please, also see another/related performance issue which contributes around 70% of total performance overhead:
[8308614](https://bugs.openjdk.org/browse/JDK-8308614): Enabling JVMTI ClassLoad event slows down vthread creation by factor 10

Testing:
 - Ran mach5 tiers 1-6 with no regressions noticed.

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

Commit messages:
 - 8320239: add dynamic switch for JvmtiVTMSTransitionDisabler sync protocol

Changes: https://git.openjdk.org/jdk/pull/16688/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16688&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320239
  Stats: 41 lines in 2 files changed: 38 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16688.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16688/head:pull/16688

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


More information about the serviceability-dev mailing list