RFR: 8231153: Improve concurrent refinement statistics
Stefan Johansson
stefan.johansson at oracle.com
Mon Oct 7 12:57:39 UTC 2019
Hi Kim,
On 2019-10-02 03:08, Kim Barrett wrote:
> New webrevs:
> full: https://cr.openjdk.java.net/~kbarrett/8231153/open.01/
> incr: https://cr.openjdk.java.net/~kbarrett/8231153/open.01.inc/
The changes looks good, just one question around the calculation of
total time and size.
src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp
---
415 Tickspan G1ConcurrentRefine::total_refinement_time() const {
...
425 const_cast<G1ConcurrentRefine*>(this)->threads_do(&closure);
426 return closure._total_time;
427 }
428
429 size_t G1ConcurrentRefine::total_refined_cards() const {
...
439 const_cast<G1ConcurrentRefine*>(this)->threads_do(&closure);
440 return closure._total_cards;
441 }
Did you consider grouping these two functions into one, to avoid
iterating the threads twice? Not sure this is a big deal, and it might
only make the code more complicated, but it feels a bit unnecessary to
do two iteration right after each other.
---
Thanks,
Stefan
>
> Testing:
> mach5 tier1-5
> some local by-hand testing to look at the rate tracking.
>
More information about the hotspot-gc-dev
mailing list