RFR: 8165443: Free Collection Set serial phase takes very long on large heaps
Kim Barrett
kim.barrett at oracle.com
Fri Dec 6 00:33:11 UTC 2019
> On Dec 5, 2019, at 1:27 PM, Stefan Johansson <stefan.johansson at oracle.com> wrote:
> Thanks, here are updated webrevs:
> Full: http://cr.openjdk.java.net/~sjohanss/8165443/02/
> Inc: http://cr.openjdk.java.net/~sjohanss/8165443/01-02/
Looks good.
------------------------------------------------------------------------------
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
4207 class G1FreeCollectionSetClosure : public HeapRegionClosure {
Since it's a nested class, it could be called FreeCSetClosure, to be
similar to FreeCSetStats. Just a suggestion.
------------------------------------------------------------------------------
src/hotspot/share/gc/g1/heapRegionManager.cpp
680 uint const num_workers = clamp(max_length(), 1u, workers->active_workers());
Maybe this was already discussed, but it looks to me that the cost per
region for the rebuild task is pretty low, so that it might be that
this should use one thread per N regions, N > 1. So use "max_length()
/ N". I don't know what N should be. For a similar case in reference
processing we added the experimental option ReferencesPerThread with a
default value of 1000. (Note that I'm not encouraging the addition of
an option here.)
This should probably be deferred for further experimentation and measurement.
------------------------------------------------------------------------------
More information about the hotspot-gc-dev
mailing list