ZGC and disabled biased locking

Aleksey Shipilev shade at redhat.com
Fri Dec 15 21:32:54 UTC 2017


Have you found a compelling reason to disable Biased Locking by default with ZGC?

  52   if (FLAG_IS_DEFAULT(UseBiasedLocking)) {
  53     FLAG_SET_DEFAULT(UseBiasedLocking, false);
  54   }

In Shenandoah, we went back and forth on this, first we disabled it [1] on the hunch that biased
locking safepoints make up for significant pause time, and then reverted back [2] because some of
our adopters have complained that Shenandoah is much slower than expected -- and having the
workloads that benefit greatly from biased locking throughput-wise. In some cases it was
demonstrated that disabled biased locking completely blew over any additional GC barrier overhead.

So I wonder if ZGC disables it on the same hunch, or is it a design/implementation quirk at this point?


[1] http://mail.openjdk.java.net/pipermail/shenandoah-dev/2017-September/003491.html
[2] http://mail.openjdk.java.net/pipermail/shenandoah-dev/2017-November/004333.html

More information about the zgc-dev mailing list