disable JDK-8061553 optimization while JDK-8077392 is resolved (8079359)

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue May 5 17:06:22 UTC 2015


Greetings,

The following bug fix:

     JDK-8061553 Contended Locking fast enter bucket

is causing intermittent hangs in JDK9-dev testing. That hang is
being tracked by the following bug:

     JDK-8077392 Stream fork/join tasks occasionally fail to complete

In order to make the JDK9-dev nightly testing more stable,
I would like to disable the JDK-8061553 optimization until
I resolve JDK-8077392.

I'm targeting this fix for JDK9-dev directly instead of going
through the usual process of:

     push fix -> RT_Baseline
     RT_Baseline -> Main_Baseline
     Main_Baseline -> JDK9-dev

in order to get JDK9-dev stable more quickly.

Lana and Alejandro, please let me know if either of you has
a problem with this out-of-band work around.

Dan



-------- Original Message --------
Subject: 	[JBS] (JDK-8079359) disable JDK-8061553 optimization while 
JDK-8077392 is resolved
Date: 	Tue, 5 May 2015 16:59:40 +0000 (UTC)
From: 	Daniel Daugherty (JBS) <do-not-reply at openjdk.java.net>
To: 	daniel.daugherty at oracle.com



Daniel Daugherty 
<https://bugs.openjdk.java.net/secure/ViewProfile.jspa?name=dcubed> 
started work on Bug JDK-8079359 
<https://bugs.openjdk.java.net/browse/JDK-8079359>
*disable JDK-8061553 optimization while JDK-8077392 is resolved* 
<https://bugs.openjdk.java.net/browse/JDK-8079359>


	
Here is the proposed change:

$ hg diff
diff -r a0df4738688e src/share/vm/runtime/sharedRuntime.cpp
--- a/src/share/vm/runtime/sharedRuntime.cpp Sat May 02 00:16:29 2015 -0700
+++ b/src/share/vm/runtime/sharedRuntime.cpp Tue May 05 09:57:09 2015 -0700
@@ -1793,7 +1793,9 @@ JRT_END

  // Handles the uncommon case in locking, i.e., contention or an 
inflated lock.
  JRT_BLOCK_ENTRY(void, 
SharedRuntime::complete_monitor_locking_C(oopDesc* _obj, BasicLock* 
lock, JavaThread* thread))
- if (!SafepointSynchronize::is_synchronizing()) {
+ // Disable ObjectSynchronizer::quick_enter() in default config
+ // until JDK-8077392 
<https://bugs.openjdk.java.net/browse/JDK-8077392> is resolved.
+ if ((SyncFlags & 256) != 0 && 
!SafepointSynchronize::is_synchronizing()) {
      // Only try quick_enter() if we're not trying to reach a safepoint
      // so that the calling thread reaches the safepoint more quickly.
      if (ObjectSynchronizer::quick_enter(_obj, thread, lock)) return;
*Change By:* 	Daniel Daugherty 
<https://bugs.openjdk.java.net/secure/ViewProfile.jspa?name=dcubed> 
(2015-05-05 09:57)
*Status:* 	Open In Progress
*Understanding:* 	Cause Known

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA 
administrators 
<https://bugs.openjdk.java.net/secure/ContactAdministrators%21default.jspa>
For more information on JIRA, see: http://www.atlassian.com/software/jira





More information about the hotspot-runtime-dev mailing list