RFR(L): 8235795: replace monitor list mux{Acquire,Release}(&gListLock) with spin locks
Daniel D. Daugherty
daniel.daugherty at oracle.com
Mon Dec 23 21:57:02 UTC 2019
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
More information about the hotspot-runtime-dev
mailing list