RFR (S): 8027295: Free CSet takes ~50% of young pause time
Stefan Karlsson
stefan.karlsson at oracle.com
Mon Feb 24 13:15:13 UTC 2014
Hi Thomas,
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
>
> Changes:
>
> - 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?
thanks,
StefanK
> - 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
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8027295
>
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8027295/webrev.2/
>
> Testing:
> JPRT
>
> Thanks,
> Thomas
>
>
More information about the hotspot-gc-dev
mailing list