RFR: G1HRRSFlushLogBuffersOnVerify with remembered set verification does not work
erik.helin at oracle.com
Thu Jun 29 09:11:19 UTC 2017
this patch removes the developer flag -XX:G1HRRSFlushLogBuffersOnVerify.
This flag has been broken for some time and I don't see any reason for
keeping it. The flag is `false` by default so I guess this code isn't
exercised all that much :/
I assume that the original intent of the flag was to perform an "update
rs" phase before doing remembered set (rem set) verification. Due to the
"update rs" phase, all rem sets would be complete, so verification would
verify more rem set entries. However, since this code was added,
update_rs has changed quite a bit, and this code hasn't kept up. It is
no longer possible to call update_rs in the way this code expects.
Instead of spending time on trying to get this code up to date, I
suggest we just remove it. During verification after a collection (young
or mixed) we already do this kind of rem set verification (since all rem
sets must then be complete since all collections currently do
update_rs). If we are worried that we verify too few rem set entries
during e.g. remark and cleanup, then we could for example run with very
aggressive concurrent refinement.
Test: make hotspot - this is "just" removal of code
More information about the hotspot-gc-dev