On Thu, 16 Nov 2023 17:05:17 GMT, Leonid Mesnik <lmes...@openjdk.org> wrote:

>> 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.
>
> src/hotspot/share/prims/jvmtiThreadState.cpp line 430:
> 
>> 428:     assert(!thread->is_in_VTMS_transition(), "VTMS_transition sanity 
>> check");
>> 429:     thread->set_is_in_VTMS_transition(true);
>> 430:      java_lang_Thread::set_is_in_VTMS_transition(vt, true);
> 
> indentation is incorrect.

Thank you. Fixed now.

> src/hotspot/share/prims/jvmtiThreadState.hpp line 86:
> 
>> 84:   static volatile bool _SR_mode;                         // there is an 
>> active suspender or resumer
>> 85:   static volatile int _VTMS_transition_count;            // current 
>> number of VTMS transitions
>> 86:   static int  _sync_protocol_enabled_count;              // current 
>> number of JvmtiVTMSTransitionDisablers enabled sync protocol
> 
> The _sync_protocol_enabled_count and  _sync_protocol_enabled_permanently are 
> read/updated in different threads. How access to them is protected from 
> racing? Might be make sense to add this info in comment?

Good catch, thanks. My initial intention was to make them volatile with Atomic 
load/store/update. Fixed now.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16688#discussion_r1396191582
PR Review Comment: https://git.openjdk.org/jdk/pull/16688#discussion_r1396194416

Reply via email to