RFR: Improve scheduling and interleaving of SATB processing in mark loop

Roman Kennke rkennke at redhat.com
Mon Jun 18 08:17:23 UTC 2018


Am 18.06.2018 um 09:58 schrieb Roman Kennke:
> Printing out when SATB buffers get enqueued (by mutators) and processed
> (by collectors) shows that the way we currently process SATB buffers
> (only when marking stack runs empty) tends to process SATB buffers
> towards the end of marking, thus piling up SATB buffers throughout most
> of the marking cycle.
> 
> I propose to also process SATB buffers (if available) between marking
> strides. This leads to more promptly processing SATB buffers, thus
> smoothing out SATB pressure during marking cycle. I also added an
> os::naked_yield() between strides to give mutators a chance to run.
> 
> http://cr.openjdk.java.net/~rkennke/interleave-satb/webrev.00/
> 
> Testing: tier3_gc_shenandoah
> 
> Good? WDYT?
> 
> Roman
> 

I am getting test failures. Don't know yet, why, but will investigate.
Putting the RFR on hold.

Roman



More information about the shenandoah-dev mailing list