RFR (L): 8073013: Add detailed information about PLAB memory usage

Thomas Schatzl thomas.schatzl at oracle.com
Thu Aug 6 15:49:11 UTC 2015


Hi all,

  can I have reviews for this change that prepares for a lot of changes
related to 8030849 "Investigate high fragmentation/waste in some
situations during allocation during GC in G1"?

Before investigating and fixing fragmentation during PLAB, we need to
track that information.

For this reason, PLABStats has been extended in a G1EvacStats class with
the necessary information that is needed to do better PLAB sizing, in
particular G1EvacStats::_region_end_waste that tracks the waste at the
end of regions during refill, G1EvacStats::_regions_filled that tracks
the number of region refills, G1EvacStats::_inline_allocated that tracks
the amount of inline allocation (excluding PLAB allocation),
G1EvacStats::_failure_used and G1EvacStats::_failure_waste that track
memory usage in regions where evacuation failure occurred.

There had to be somewhat extensive changes particularly to get the
_region_end_waste in the allocation classes, which is what makes this
change a bit large.

Overall there is no change in the sizing policy except for accounting
_region_end_waste.

As you may notice, there is a new JFR event, but no real additional
logging for the log file (the -XX:+PrintPLAB message has been extended
though). That will be added in an extra CR, as soon as the new logging
framework has been added.

CR:
https://bugs.openjdk.java.net/browse/JDK-8073013

Webrev:
http://cr.openjdk.java.net/~tschatzl/8073013/webrev

Testing:
jprt, a few aurora runs, local testing, lots of benchmarks mainly in
conjunction with the following changes.

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list