RFR: 8228657: ZGC: ZObjectAllocator::used() should take undone allocations into account

Per Liden per.liden at oracle.com
Fri Jul 26 13:11:46 UTC 2019


In ZObjectAllocator, when we allocate a page we increment _used. 
However, we might later undo that page allocation, but we then leave 
_used as is. This results in a sometimes slightly incorrect value being 
reported by ZCollectedHeap::tlab_used(), which is fed into the TLAB 
heuristics. This incorrectness is not that big of a deal, but we should 
still fix this.

We can't safely decrement _used (because we might be executing on a 
different CPU now), but we can track the amount of undos we've done, and 
later subtract that from _used.

Bug: https://bugs.openjdk.java.net/browse/JDK-8228657
Webrev: http://cr.openjdk.java.net/~pliden/8228657/webrev.0

/Per



More information about the hotspot-gc-dev mailing list