RFR(XS) Contended Locking speedup PlatformEvent unpark bucket (8061552)

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Oct 28 16:09:14 UTC 2014


On 10/28/14 1:33 AM, David Holmes wrote:
> Hi Dan,

David, Thanks for the review!


> On 28/10/2014 8:34 AM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> I have the Contended Locking speedup PlatformEvent unpark bucket
>> ready for review. These are small comment only changes that have
>> already been reviewed by Karen Kinnear (acorn) and Dave Dice (dice).
>> It would be good to get one or two more pair of eyes on these
>> comment additions/updates/synchronizations.
>
> So there's a bit of cross-platform inconsistency. For example you 
> deleted the TO-DO/FIXME chunk of comments on Solaris but left them on 
> Windows. Granted parts are different (and my not be true/relevant any 
> more) but parts are basically the same eg:
>
> -  Reconcile Doug's JSR166 j.u.c park-unpark with the objectmonitor 
> implementation.
>
> -  Collapse the JSR166 parker event, and the objectmonitor ParkEvent 
> into a single "Event" construct.

You're right about this deletion inconsistency. I didn't finish
running down the details about this particular deletion. I have
to chase that down with Dave Dice and Karen Kinnear and that will
take some time so it won't be done as part of this fix.



> Also linux/bsd have the transition information only in the park/unpark 
> functions, but solaris and windows have it both in the functions and 
> as part of the preeamble - which seems redundant to me.

Solaris and Windows have a big introductory comment that is similar,
but not the same between those two platforms. Linux has a reference
to the Solaris introductory comment:

5404 // Refer to the comments in os_solaris.cpp park-unpark.

and BSD inherited that reference comment from Linux...

We're trying to figure out the best way to reconcile this type of
common introductory comment, but that will be handled separately.
I'm discussing the issue with Jerry Thornbrugh as part of his *NIX
work and with both Dave Dice and Karen Kinnear to make sure that
we don't lose anything important.


> Also os_aix.cpp is missing, but is presumably similar to the linux/bsd 
> cases.

AIX is actually missing many of the bug fixes from 2012.12/2013.01
bug_fix bucket work. It looks like the AIX project based their work
on earlier versions of os_linux.cpp, but didn't keep track of the
changes to os_linux.cpp afterward... Our plan is to go through all
of the bugs associated with this project and file new AIX specific
bugs for fixes that are missing.

Thanks again for the review!

Dan


>
> Cheers,
> David
>
>> Historial reminder:
>>
>>      Back in 2012.12 and 2013.01, work on the "bug fix bucket" for the
>>      Contended Locking project was being done. One of the bug fixes was:
>>
>>      JDK-8004902 correctness fixes motivated by contended locking work
>> (6607129)
>>      https://bugs.openjdk.java.net/browse/JDK-8004902
>>
>>      The work on JDK-8004902 picked up all of the code changes and 
>> many of
>>      comments that were part of this bucket (speedup PlatformEvent 
>> unpark).
>>
>>      Here's the webrev for "bug fix bucket":
>>
>> http://cr.openjdk.java.net/~dcubed/cl_bug_fix_bucket-webrev/2/
>>
>>      The bug fix bucket included fixes for 6444286, 8004902 and 8004903,
>>      but the majority of the work was done for 8004902. Now back to the
>>      current thread...
>>
>> This work is being tracked by the following bug ID:
>>
>>      JDK-8061552 Contended Locking speedup PlatformEvent unpark bucket
>>      https://bugs.openjdk.java.net/browse/JDK-8061552
>>
>> Here is the webrev URL:
>>
>> http://cr.openjdk.java.net/~dcubed/8061552-webrev/2-jdk9-hs-rt/
>>
>> Here is the JEP link:
>>
>>      https://bugs.openjdk.java.net/browse/JDK-8046133
>>
>> Testing:
>>
>> - JPRT test jobs



More information about the hotspot-runtime-dev mailing list