RFR/RFC: Tax-and-Spend allocation pacing

Roman Kennke rkennke at redhat.com
Thu Mar 15 18:11:10 UTC 2018


Am 15.03.2018 um 19:04 schrieb Aleksey Shipilev:
> On 03/09/2018 11:47 AM, Roman Kennke wrote:
>> I wonder what is needed to make this work with partial and traversal GC?
>> Or would that only be the boilerplate stuff like in
>> init_concurrent_normal_cycle() to set up pacing? Because the other hooks
>> (to report evacs and intercept allocs) are already in their right places?
> 
> It is apparently easy, if we rewire the pacer to accept these phases.

+
+  if (ShenandoahPacing) {
+    _heap->pacer()->setup_for_traversal();
+  }

What? This is all that is needed? (Plus the little fluff in
setup_for_traversal()...)

> New version of the patch does this, along with other improvements:
>   http://cr.openjdk.java.net/~shade/shenandoah/tax-and-spend/webrev.02/
> 
> Still passes hotspot_gc_shenandoah, and performance numbers are still good. I am going to run a few
> other benchmarks to be extra sure, but I think this is ready to go.

It sure does look good to me. Good work! Go from my side!

Roman



More information about the shenandoah-dev mailing list