RFR: 8230109: G1DirtyCardQueueSet should use card counts rather than buffer counts

Kim Barrett kim.barrett at oracle.com
Sat Aug 24 04:02:33 UTC 2019


Please review this change to G1DirtyCardQueueSet and its clients to
consistently use card counts, rather than a mix of card counts and
buffer counts, to measure pending work and work performed.

JDK-8227719 already changed DCQS to use card counts internally, but
retained the buffer count API (estimating based on card counts and the
buffer size) to reduce the fanout from that change.  This change
removes that buffer count API and updates clients to consistently use
card counts.  It also updates some names accordingly.  For example,
*log_buffer_entry* => *logged_cards*.

There aren't any _intentional_ behavioral changes here, just unit and
nomenclature changes.

A lingering use of buffer counts is DCQS::_processed_buffers_(mut|rs_thread).
These are only used in the RemSetSummary, to print some statistics.
I'm planning to address that as part of other work.

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

Webrev:
http://cr.openjdk.java.net/~kbarrett/8230109/open.00/

Testing:
mach5 tier1-3

Manually examined log output for gcbasher to verify refinement related
values were consistent with using card units rather than buffer units.




More information about the hotspot-gc-dev mailing list