RFR (XXS): 8143220: Fix documentation of InitiatingHeapOccupancyPercent

Thomas Schatzl thomas.schatzl at oracle.com
Fri Feb 5 13:53:59 UTC 2016


Hi Kirk,

On Fri, 2016-02-05 at 14:05 +0100, kirk at kodewerk.com wrote:
> Hi,
> 
> Does this represent a change in behavior aside from it being
> adaptive. I ask because I understand this comment to suggest that
> IHOP is no longer based on total heap occupancy but instead just on
> tenured occupancy.

No. It has always been that way, for better or worse (at least since
2012). See g1CollectorPolicy.cpp:944 where it reads:

size_t cur_used_bytes = _g1->non_young_capacity_bytes();
[..]
size_t marking_request_bytes = cur_used_bytes + cur_used_bytes;

Recent changes in this area only introduced the marking_request_bytes
temporary variable.

> Sorry but aside from that I find the comment some what confusing. Can
> you confirm that what I’ve written is what is meant.
> 
> "The percent occupancy (IHOP) of old generational heap after which a
> concurrent mark cycle with be initiated with the next GC. 
> The value may be changed if adaptive IHOP is enabled. Otherwise the
> value remains constant. Setting a value of 0 will result in frequent
> concurrent marking cycles. (G1 collector only)”

What do you think of that:

"The percent occupancy (IHOP) of the current old generation capacity
after which a concurrent mark cycle will be initiated at the next GC.
The value may change over time if adaptive IHOP is enabled, otherwise
the value remains constant. In the latter case a value of 0 will result
in frequent concurrent marking cycles. (G1 collector only)"

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list