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