RFR (S): 8027295: Free CSet takes ~50% of young pause time

Stefan Karlsson stefan.karlsson at oracle.com
Mon Feb 24 05:15:13 PST 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