RFR (S): 8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously

Thomas Schatzl thomas.schatzl at oracle.com
Wed May 30 12:58:07 UTC 2018


Hi all,

  can I have reviews for this small change that causes some performance
loss after earlier rebuild remembered set changes by keeping around
remembered sets for some regions for too long?

The problem is that the remembered set tracker and the collection set
chooser have a different idea of what remembered sets should be kept.
I.e. the remembered set tracker basically takes all regions that have a
low enough occupancy, while the collection set chooser only looks at
regions that have been marked in the last marking cycle, and so does
not dispose of remembered sets for regions that have no marking
information, but got added because they are low-occupancy due to other
reasons (fragmentation).
It also causes the collection set chooser to not consider these regions
for evacuation until the next marking cycle.

This can save a few GCs in some applications, and seems to improve
performance.

This change fixes this issue.

CR:
https://bugs.openjdk.java.net/browse/JDK-8204081
Webrev:
http://cr.openjdk.java.net/~tschatzl/8204081/webrev/
Testing:
hs-tier1-3,jdk-tier1-2

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list