RFR: 8305670: Performance regression in LockSupport.unpark with lots of idle threads
    Daniel D. Daugherty 
    dcubed at openjdk.org
       
    Wed Apr 19 17:15:57 UTC 2023
    
    
  
On Wed, 19 Apr 2023 16:15:35 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> src/hotspot/share/prims/unsafe.cpp line 788:
>> 
>>> 786:     oop thread_oop = JNIHandles::resolve_non_null(jthread);
>>> 787:     if (java_lang_Thread::thread(thread_oop) != nullptr) {
>>> 788:       ThreadsListHandle tlh; // Provides memory barrier
>> 
>> I don't understand what the comment means - what kind of memory barrier?
>
> Store side do:
> Store to threadslist
> Store to eetop
> 
> Read side do:
> Read eetop
> Read threadslist
> Read eetop again
> 
> We want them to stay in this order.
Perhaps the comment should change to:
      ThreadsListHandle tlh; // Also is a barrier between the two JavaThread* queries.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13519#discussion_r1171630035
    
    
More information about the hotspot-runtime-dev
mailing list