RFR: 8320239: add dynamic switch for JvmtiVTMSTransitionDisabler sync protocol [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Fri Nov 17 10:30:59 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.

Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:

  review: make new fields volatile, use Atomic for access/update

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16688/files
  - new: https://git.openjdk.org/jdk/pull/16688/files/bf093127..a81218fd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16688&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16688&range=00-01

  Stats: 15 lines in 2 files changed: 3 ins; 0 del; 12 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