Enable UseDynamicNumberOfGCThreads flag support in Shenandoah

Zhengyu Gu zgu at redhat.com
Thu Feb 2 12:39:50 UTC 2017


The heuristics for selecting number of workers probably still need to be tweaked, as I did not see
improvement with flag on/off with SPECjbb2015.

The patch fixes a couple of potential issues:

- Without the patch, enable UseDynamicNumberOfGCThreads can crash VM due to uninitialized gclab of
   dynamic created workers.

- Imbalance of task queues and workers that potential cause misses of final mark. The problem is hidden
   because of currently implementation utilizing max parallel workers for the final mark from root.

I would like to get this push if there are not problems with the patch itself, so we can find more
systems to tweak the algorithm.

Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/dynamic_workers/webrev.00/

Tests:
   - SPECjbb2015 fastdebug and release
   - SPECjvm     Debry fastdebug and release

Thanks,

-Zhengyu



More information about the shenandoah-dev mailing list