RFR: Forceful SATB buffer flushes should be time-periodic, not traffic-dependent
Roman Kennke
rkennke at redhat.com
Thu Jul 5 09:25:36 UTC 2018
Looks good. We need to think about how to abstract the SATB changes. Or
alternatively, 'fork' it for our own use. Please push it!
Roman
> http://cr.openjdk.java.net/~shade/shenandoah/satb-prompt-2/webrev.01/
>
> We had this fix before in this form:
> http://hg.openjdk.java.net/shenandoah/jdk/rev/2eeb051dc58d
>
> ...but, running specjbb at different IR levels shows that sometimes SATB traffic is not enough to
> perform flushes rapidly enough. It makes more sense to switch to periodic flushing. This reverts the
> previous fix, and makes the patch more contained. It also does not enqueue too many buffers when
> SATB traffic is high.
>
> Before:
>
> Pause Final Mark (N) = 0.30 s (a = 3381 us) (n = 89)
> (lvls, us = 607, 2168, 2598, 3145, 20625)
> Finish Queues = 0.16 s (a = 1790 us) (n = 89)
> (lvls, us = 22, 559, 998, 1504, 19526)
>
> After:
>
> Pause Final Mark (N) = 0.18 s (a = 2111 us) (n = 87)
> (lvls, us = 605, 1934, 2070, 2266, 3146)
> Finish Queues = 0.05 s (a = 561 us) (n = 87)
> (lvls, us = 23, 379, 467, 654, 2138)
>
> Really, the problem is outliers in "before" case, because the traffic was low.
>
> Testing: tier3_gc_shenandoah, benchmarks
>
> -Aleksey
>
More information about the shenandoah-dev
mailing list