RFR (S): 8131734: Add free_archive_regions support to G1 for -Xshared:auto

Tom Benson tom.benson at oracle.com
Tue Aug 11 17:43:12 UTC 2015


Hi,
On 8/7/2015 10:56 AM, Tom Benson wrote:
>
> The problem is simply that in addition to calling 
> free_archive_regions, FileMapInfo::unmap_string_regions also unmaps 
> the memory.... so there's a segv when GC tries to re-use it. Let's 
> talk directly about the best way to handle it.
> Tom

After some discussion, I've changed the definition and name of 
free_archive_regions.  Now called dealloc_archive_regions, it uncommits 
the specified regions, unmapping the memory, rather than adding them to 
the free list.  This means the CDS code will no longer do the unmapping 
on verification failures.

Updated full and incremental webrevs of the GC code are at:
http://cr.openjdk.java.net/~tbenson/8131734/webrev.02/
http://cr.openjdk.java.net/~tbenson/8131734/webrev.02.vs.01/

Tested with JPRT and running benchmarks with the dealloc_ performed 
explicitly.  Jiangli also tested the original failing cases, and will be 
posting an updated webrev.

Tom

On 8/7/2015 10:56 AM, Tom Benson wrote:
> Hi,
>
> On 8/7/2015 9:52 AM, Tom Benson wrote:
>> Hi,
>> On 8/6/2015 8:40 PM, Jiangli Zhou wrote:
>>> Hi Dmitry,
>>>
>>> I’ve added shared string unmapping to handle the string data 
>>> verification failure. I also added 'free_archive_regions()’ call to 
>>> FileMapInfo::unmap_string_regions(). My testing revealed some issues 
>>> with the new archive region free code when I forced string 
>>> verification failure. I’m working with Tom on the issues.
>>
>
> The problem is simply that in addition to calling 
> free_archive_regions, FileMapInfo::unmap_string_regions also unmaps 
> the memory.... so there's a segv when GC tries to re-use it. Let's 
> talk directly about the best way to handle it.
> Tom



More information about the hotspot-gc-dev mailing list