RFR: JDK-8078904 : CMS: Assert failed: Ctl pt invariant
Eric Caspole
eric.caspole at oracle.com
Wed May 13 19:17:00 UTC 2015
Hi everybody,
Could I have a review for fixing JDK-8078904. That is an assert in CMS
where the setup of the survivor chunk array used for setting up the CMS
rescan did not completely scan all the per-thread chunk arrays. This
would happen if the TLAB size is set very large on the cmd line, for
example, because of the way the survivor chunk array structures were set
up. In product builds this would result in uneven distribution of
parallel work where the last task might get 100x as much region to scan
as the others.
The size of those PLABs depends on YoungPLABSize so I changed the setup
code to only consider the YoungPLABSize when creating the survivor chunk
array. I can see with this change there is even distribution of parallel
work in the rescan tasks with various YoungPLABSize and ParallelGCThread
count.
https://bugs.openjdk.java.net/browse/JDK-8078904
http://cr.openjdk.java.net/~ecaspole/JDK-8078904/00/webrev/
Thanks,
Eric
More information about the hotspot-gc-dev
mailing list