RFR: Default to ShenandoahCodeRootsStyle = 2
Roman Kennke
rkennke at redhat.com
Thu May 31 08:38:29 UTC 2018
I'm fine with this. Thank you!
Roman
> This is the follow up to the recent improvements in code roots handling in Shenandoah:
> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-May/006032.html
>
> This time, we are better off to switch to style-2, which gives us parallel code roots iteration,
> plus CSet filtering. The reason why style-2 is better than style-1 is because it does not visit the
> nmethods that are known not to have roots in the cset. The performance runs on our set of benchmarks
> shows that the "Initial Evacuation" time, and thus the "Final Mark" time had dropped significantly.
>
> Initial evac time, us Improvement
> style-0 style-1 style-2 1-over-0 2-over-1
> Test A 6449 1596 298 304% 436%
> Test B 6381 1656 243 285% 581%
> Test C 906 351 108 158% 225%
> Test D 1021 490 88 108% 457%
> Test E 1386 653 103 112% 534%
> Test F 1022 702 664 46% 6%
> Test G 2500 806 74 210% 989%
> Test H 1500 688 568 118% 21%
> Test I 696 463 220 50% 110%
> Test J 708 336 101 111% 233%
> Test K 604 330 96 83% 244%
> Test L 701 403 88 74% 358%
> Test M 1074 332 272 223% 22%
> Test N 769 330 120 133% 175%
> Test O 679 390 265 74% 47%
> Test P 1332 518 78 157% 564%
> Test Q 1188 461 174 158% 165%
> Test R 5475 1697 652 223% 160%
> Test S 2413 926 142 161% 552%
>
> There are other potential improvements we can do in style-2 in future, but even this provides us
> with nice performance improvements.
>
> Change:
>
> diff -r ef24f20c2fae src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Thu May 24 20:20:48 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Fri May 25 12:21:25 2018 +0200
> @@ -207,7 +207,7 @@
> "Evacuate code roots concurrently, instead of during a pause. " \
> "This requires ShenandoahBarriersForConst to be enabled.") \
> \
> - experimental(uintx, ShenandoahCodeRootsStyle, 1, \
> + experimental(uintx, ShenandoahCodeRootsStyle, 2, \
> "Use this style to scan code cache:" \
> " 0 - sequential iterator;" \
> " 1 - parallel iterator;" \
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list