RFR (S): 8027295: Free CSet takes ~50% of young pause time
stefan.karlsson at oracle.com
Mon Feb 24 13:15:13 UTC 2014
Not a full review, but a comment below:
On 2014-02-24 12:40, Thomas Schatzl wrote:
> Hi all,
> can I have reviews for the remaining parts of 8027295 after splitting
> out code cache remembered set data structure changes (JDK-8025406)?
> It only includes several smaller changes around CSet freeing that
> improve performance.
> Note that this change is based on 8035406 also out for review
> - fast card cache changes
> - pad FCC rows to cache line size to avoid any false sharing (every
> row represents the card cache for a single worker thread)
Is it really enough to just pad the size and not the start address of
the rows of the FCC?
> - fixed (the surprising) main performance problem in FCC clearing by
> simply factoring out the call to HeapRegionRemSet::num_par_rem_sets()
> from the clear loop
> - a future change will extract the FCC into a separate class as
> cleanup (JDK-8034868)
> - some interface changes to avoid locking mutexes unnecessarily during
> cleanup (seems to give 3% Free CSet time on TOPLINK)
> - i.e. the "locked" parameter for G1CollectedHeap::free_region().
> - added new statistics output separating young/nonyoung free cset time
> when G1LogLevel is set to finest
More information about the hotspot-gc-dev