RFR(XS) 8153834: G1 Card table verification fails due to concurrent region cleanup
Mikael Gerdin
mikael.gerdin at oracle.com
Tue Apr 12 12:33:32 UTC 2016
Hi all,
Please review this small fix to an issue with -XX:+G1VerifyCTCleanup we
discovered recently.
The problem is that concurrent region freeing
(G1ConcurrentMark::complete_cleanup()) can run concurrently with a young
gc after the cleanup pause. If the concurrent cleanup is not finished
when the young gc verifies the card table then the verification can see
0s in the card table where there should be none.
Suggested fix is to have not-PRODUCT vms await concurrent region freeing
before verifying the card table by calling wait_while_free_regions_coming()
Bug: https://bugs.openjdk.java.net/browse/JDK-8153834
Webrev: http://cr.openjdk.java.net/~mgerdin/8153834/webrev.0
Testing: RBT GC testing in progress, local testing of reproducer
/Mikael
More information about the hotspot-gc-dev
mailing list