RFR (S): 8027295: Free CSet takes ~50% of young pause time
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Feb 24 11:40:13 UTC 2014
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)
- 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