RFR: 8245203/8245204/8245208: ZGC: Don't hold the ZPageAllocator lock while committing/uncommitting memory

Per Liden per.liden at oracle.com
Mon Jun 1 17:06:31 UTC 2020


On 6/1/20 7:32 AM, Per Liden wrote:
> On 5/18/20 11:23 PM, Per Liden wrote:
> [...]
>> 3) 8245208: ZGC: Don't hold the ZPageAllocator lock while 
>> committing/uncommitting memory
>>
>> We're currently holding the ZPageAllocator lock while performing a 
>> number of expensive operations, such as committing and uncommitting 
>> memory. This can have a very negative impact on latency, for example, 
>> when a Java thread is trying to allocate a page from the page cache 
>> while the ZUncommitter thread is uncommitting a portion of the heap.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8245208
>> Webrev: http://cr.openjdk.java.net/~pliden/8245208/webrev.0
> 

Another update, after receiving some more comments from Stefan and Erik:

* 8245208: ZGC: Don't hold the ZPageAllocator lock while 
committing/uncommitting memory
Full: http://cr.openjdk.java.net/~pliden/8245208/webrev.2/
Diff: http://cr.openjdk.java.net/~pliden/8245208/webrev.2-diff/

* 8246220: ZGC: Introduce ZUnmapper to asynchronous unmap pages
Full: http://cr.openjdk.java.net/~pliden/8246220/webrev.1/
Diff: http://cr.openjdk.java.net/~pliden/8246220/webrev.1-diff/


... and the above patches sits on top of these, which have not been 
modified in this round:

* 8246265: ZGC: Introduce ZConditionLock
http://cr.openjdk.java.net/~pliden/8246265/webrev.0/

* 8245204: ZGC: Introduce ZListRemoveIterator
http://cr.openjdk.java.net/~pliden/8245204/webrev.0/

* 8245203: ZGC: Don't track size in ZPhysicalMemoryBacking
http://cr.openjdk.java.net/~pliden/8245203/webrev.0/

cheers,
Per


More information about the hotspot-gc-dev mailing list