RFR (S): JDK-8069004: Kitchensink hanged with 16Gb heap and GC pause >30 min

Derek White derek.white at oracle.com
Wed Apr 1 17:46:46 UTC 2015

Thanks Thomas!

After talking with Jon I've updated the comment in 
HeapRegionManager::par_iterate() to:

         // Claim the region so no other worker tries to process the 
region. When a worker processes a
         // starts_humongous region it may also process the associated 
continues_humongous regions.
         // The continues_humongous regions can be changed to free 
regions. Unless this worker claims
         // all of these regions, other workers might try claim and 
process these newly free regions.
         bool claim_result = hrclaimer->claim_region(ch_index);

If this looks good can someone push for me? Doing final merge/build cycle...


  - Derek

On 4/1/15 9:26 AM, Thomas Schatzl wrote:
> Hi Derek,
> On Mon, 2015-03-30 at 12:54 -0400, Derek White wrote:
>> This is a P1 bug in JDK 9 - a conflict when freeing
>> continues_humongous regions.
>> The scenario is a region was continues_humongous is then freed by one
>> worker when the whole H-object is freed. The continues_humongous
>> region needs to be claimed by the first worker, otherwise other
>> workers may run into the free region. It turns out the fix was to
>> revert a change made a few months ago.
>> It didn't help out that an assert actually did the right thing, so it
>> never failed in debug code :-)
>> BUG: JDK-8069004  Kitchensink hanged with 16Gb heap and GC pause >30
>> min
>> Webrev: http://cr.openjdk.java.net/~drwhite/8069004/webrev.00/
>> Ran jprt.
> Looks good.
> Thanks for catching this,
>    Thomas

More information about the hotspot-gc-dev mailing list