RFR: 8224820: ZGC: Support discontiguous heap reservations

Erik Österlund erik.osterlund at oracle.com
Thu Sep 5 14:02:13 UTC 2019


Hi Per,

Thanks for the review. Will poke in the argument before pushing.

/Erik

On 2019-09-05 15:51, Per Liden wrote:
> On 8/9/19 11:59 AM, Erik Österlund wrote:
>> Hi,
>>
>> Today ZGC reserves a huge chunk of virtual address space when the JVM 
>> starts. This typically succeeds because we grab the VA before anyone 
>> else has time to do so. But if some ASLR library or something was to 
>> grab a tiny part of the desired VA, ZGC can't start. We should 
>> support discontiguous heap reservations to support this.
>>
>> On linux, by default, this does not happen. But on OS X, it does 
>> happen relatively frequently. So we need to fix this to allow a mac 
>> port.
>>
>> This patch implements a recursive algorithm for finding holes at 2MB 
>> granularities in the normally contiguous reservation when 
>> initializing the heap, removing them from our VA.
>>
>> This patch depends on 8224815, which depends on 8229189 and 8229278. 
>> They are all out for review.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~eosterlund/8224820/webrev.00/
>
> Looks good. However, please pass down max_capacity from ZPageAllocator 
> to ZVirtualMemory's constructor, instead of reading MaxHeapSize.
>
> cheers,
> Per
>
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8224820
>>
>> Thanks,
>> /Erik




More information about the hotspot-gc-dev mailing list