RFR: 8232604: ZGC: Make ZVerifyViews mapping and unmapping precise
Per Liden
per.liden at oracle.com
Thu Oct 24 19:40:18 UTC 2019
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