RFR: 8139652: Mutator refinement processing should take the oldest dirty card buffer
Kim Barrett
kim.barrett at oracle.com
Wed Mar 4 02:32:06 UTC 2020
Please review this change to the handling of completed buffers by mutator
threads. Previously it would conditionally process and potentially reuse the
buffer, rather than enqueuing it. Now, always enqueue the buffer and
allocate a new one, and conditionally process the next (oldest) dirty buffer
in the DCQS. The benefit of this is that the buffers being processed by the
mutator age for a while in the DCQS (just as is done by for concurrent
refinement thread processing), so if the mutator is making repeated writes
to the same or nearby locations, the associated card marking has more
opportunaty to be filtered out.
CR:
https://bugs.openjdk.java.net/browse/JDK-8139652
Webrev:
https://cr.openjdk.java.net/~kbarrett/8139652/open.00/
Testing
mach5 tier1-5 along with changes for JDK-8239825 and JDK-8139652.
More information about the hotspot-gc-dev
mailing list