[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    RFR(L): 8235795: replace monitor list mux{Acquire,Release}(&gListLock) with spin locks
From:       "Daniel D. Daugherty" <daniel.daugherty () oracle ! com>
Date:       2019-12-23 21:57:02
Message-ID: e20e0561-2db7-1559-265d-1dc1bde7fd6c () oracle ! com
[Download RAW message or body]

Greetings,

I'm extracting another standalone fix from the Async Monitor Deflation
project (JDK-8153224) and sending it out for review (and testing)
separately.

     JDK-8235795 replace monitor list mux{Acquire,Release}(&gListLock) 
with spin locks
     https://bugs.openjdk.java.net/browse/JDK-8235795

Here's the webrev URL:

http://cr.openjdk.java.net/~dcubed/8235795-webrev/0-for-jdk15/

Folks that have reviewed JDK-8153224 will recognize these changes as
a subset of the monitor list changes from the Async Monitor Deflation
project. It's a subset because the Async Monitor Deflation project
needs additional spin locking due to the async deflation work.

The OpenJDK wiki for Async Monitor Deflation has several sections
dedicated to the Spin-Lock Monitor List Management changes. This
link will get you to the first section:

Spin-Lock Monitor List Management In Theory
https://wiki.openjdk.java.net/display/HotSpot/Async+Monitor+Deflation#AsyncMonitorDeflation-Spin-LockMonitorListManagementInTheory


The remaining monitor list sections are:

Background: ObjectMonitor Movement Between the Lists
https://wiki.openjdk.java.net/display/HotSpot/Async+Monitor+Deflation#AsyncMonitorDeflation-Background:ObjectMonitorMovementBetweentheLists


Spin-Lock Monitor List Management In Reality
https://wiki.openjdk.java.net/display/HotSpot/Async+Monitor+Deflation#AsyncMonitorDeflation-Spin-LockMonitorListManagementInReality


Using The New Spin-Lock Monitor List Functions
https://wiki.openjdk.java.net/display/HotSpot/Async+Monitor+Deflation#AsyncMonitorDeflation-UsingTheNewSpin-LockMonitorListFunctions


Of course, the OpenJDK wiki content is specific to the Async Monitor
Deflation project, but this extract is a very close subset.

These changes have been tested in various Mach5 Tier[1-7] runs.
I'm also doing SPECjbb2015 runs.

Thanks, in advance, for comments, questions or suggestions.

Dan


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic