RFR: Fix single-threaded reference processing

Roman Kennke rkennke at redhat.com
Fri Jul 20 12:30:11 UTC 2018


With the new worker-scaling, we might end up running ref-proc
single-threaded, in which case our reserved queues and num-workers don't
match, and as Zhengyu already noted, we are not in OOM scope in
traversal GC. The single-threaded ref-proc doesn't shoot up any workers,
but runs in VMThread instead.

The fix is to also push/pop the reserved queues correctly: first,
prepare for single-threaded (in case we don't go through the executor),
then have the executor override/restore it in case we go there.

The fix also contains Zhengyu's fix for traversal GC. The OOM scope is
not needed for conc-mark.

http://cr.openjdk.java.net/~rkennke/singlethreadrefproc/webrev.00/

Testing: tier3_gc_shenandoah




More information about the shenandoah-dev mailing list