Request for Review (M) - 6858051: Create GC worker threads dynamically

Jon Masamitsu jon.masamitsu at
Wed Apr 27 05:06:06 UTC 2016

6858051: Create GC worker threads dynamically

This change creates a minimal number of GC workers at JVM initialization
and then adds additional workers as they are needed.  This has been made 
part of the
UseDynamicNumberOfGCThreads feature.  When a parallel task is about to
be executed, the number of workers needed to execute the task is 
calculated (call
that number N).  If that number of workers already exist, then no 
additional workers
are created.  If fewer than N exists, then additional workers are 
created.  Workers
are not destroyed if not needed for the task.

The UseParallelGC way of executing parallel tasks is different from the 
collectors so it has a somewhat separate implementation.

Testing: gc_test_suite with and without UseDynamicNumberOfGCThreads.
Performance testing with the prototype did not show any regression with
UseDynamicNumberOfGCThreads turned on.     RBT testing for hotspot_gc
is in progress.



More information about the hotspot-gc-dev mailing list