RFR: Improve scheduling and interleaving of SATB processing in mark loop
Roman Kennke
rkennke at redhat.com
Mon Jun 18 07:58:02 UTC 2018
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
More information about the shenandoah-dev
mailing list