RFR (XXS): 8202829: Implement CollectedHeap::get_safepoint_workers() for G1

Thomas Schatzl thomas.schatzl at oracle.com
Wed May 9 15:15:08 UTC 2018

Hi all,

  due to the recent RFR for ZGC I noticed that G1 would also benefit
from implementing CollectedHeap::get_safepoint_workers().

It is a pretty trivial change for G1 as we already have/use a "hot"
WorkGang that is always available during a safepoint.


Results from random specjbb2015 runs:

Baseline for "safepoint cleanup tasks":
              count: 1628
                min: 7.5e-05
                max: 0.0072682
                sum: 4.76701
                avg: 0.00292814 (+/-0.0016433)
    95th percentile: 0.0054634
    99th percentile: 0.0062773
  99.9th percentile: 0.0072269
 99.99th percentile: 0.0072682

With changes for "safepoint cleanup tasks":
              count: 1772
                min: 9.24e-05
                max: 0.0014651
                sum: 1.33761
                avg: 0.000754861 (+/-0.000230524)
    95th percentile: 0.0009985
    99th percentile: 0.001097
  99.9th percentile: 0.0012676
 99.99th percentile: 0.0014651

So, some significant improvement here, although very small in total.
Since it is such a simple change I guess we'll take it :)

I assume in the future the number of threads could be determined more
cleverly depending on actual work.


More information about the hotspot-gc-dev mailing list