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