RFR: Don't count evacs double in traversal GC
Roman Kennke
rkennke at redhat.com
Wed Jan 31 21:58:44 UTC 2018
I think this improved liveness work just led me to find the liveness
accounting bug that I have observed occasionally. It seems we are
counting evacs double: once when allocating the gclab/shared-gc, and
once by the usual GC mechanics: we evac cset objects, then push them to
the queue, and when it's popped, we count liveness for the object,
regardless in which region it is. Let's never count any liveness on
allocation, and do GC traversal count it. This is more precise (not
counting any GCLAB waste).
http://cr.openjdk.java.net/~rkennke/traversal-liveness-accounting/webrev.00/
Test: hotspot_gc_shenandoah
Ok?
Roman
More information about the shenandoah-dev
mailing list