RFR: 8232604: ZGC: Make ZVerifyViews mapping and unmapping precise
Stefan Karlsson
stefan.karlsson at oracle.com
Thu Oct 24 19:41:31 UTC 2019
OK. Thanks!
StefanK
On 2019-10-24 21:40, Per Liden wrote:
> Looks good! Just one minor nit:
>
> ZVerifyViewsFlip(ZPageAllocator* allocator);
>
> could become:
>
> ZVerifyViewsFlip(const ZPageAllocator* allocator);
>
> I don't need to see a new webrev.
>
> cheers,
> Per
>
> On 10/24/19 6:36 PM, Stefan Karlsson wrote:
>> Hi all,
>>
>> Please review this patch to make the ZVerifyViews mapping and
>> unmapping precise.
>>
>> https://cr.openjdk.java.net/~stefank/8232604/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8232604
>>
>> Today, when the ZVerifyViews flag is turned on, we unmap all bad
>> views. The intention is to catch stray-pointer bugs.
>>
>> The current implementation takes a short-cut and unmap all memory en
>> masse. This works for Linux, but not on Windows, where we must be
>> precise in what we unmap.
>>
>> There are three places where allocated pages are registered today:
>> - In the page table - actively used
>> - In the page cache - free pages waiting to be used
>> - In-flight from the alloc queue
>>
>> The proposed patch registers all satisfied alloc requests, lets the
>> requesting threads deregister the satisfied request when the page is
>> received, and makes sure that the GC visits all in-flight satisfied
>> alloc requests when it performs the ZVerifyViews flip.
>>
>> Thanks,
>> StefanK
More information about the hotspot-gc-dev
mailing list