[15] RFR 8245288: Shenandoah: move up ShenandoahEvacOOM scope for code root processing during concurrent class unloading
Zhengyu Gu
zgu at redhat.com
Wed May 20 16:15:47 UTC 2020
Please review this small patch that moves up evacuation OOM scope. With
JDK-8245240, we can avoid setting up/tearing down the scope for each
nmethod, it turns out to be significant performance gain [1].
Bug: https://bugs.openjdk.java.net/browse/JDK-8245288
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8245288/webrev.00/
Test:
hotspot_gc_shenandoah
Thanks,
-Zhengyu
[1]
Baseline:
Concurrent Class Unloading = 0.248 s (a = 4353 us) (n = 57) (lvls, us =
2910, 3887, 4199, 4707, 6253)
Unlink Stale = 0.231 s (a = 4056 us) (n = 57) (lvls, us = 2598, 3574,
3906, 4414, 5969)
System Dictionary = 0.001 s (a = 12 us) (n = 57) (lvls, us = 9, 11,
12, 12, 17)
Weak Class Links = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0,
0, 1)
Code Roots = 0.230 s (a = 4043 us) (n = 57) (lvls, us = 2598, 3555,
3887, 4395, 5955)
Rendezvous = 0.007 s (a = 119 us) (n = 57) (lvls, us = 72, 96, 115,
121, 204)
Purge Unlinked = 0.008 s (a = 142 us) (n = 57) (lvls, us = 95, 125,
145, 150, 220)
Code Roots = 0.008 s (a = 141 us) (n = 57) (lvls, us = 95, 123,
143, 148, 219)
CLDG = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0, 0, 1)
Exception Caches = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0,
0, 0)
Patched:
Concurrent Class Unloading = 0.146 s (a = 2567 us) (n = 57) (lvls, us =
1797, 2012, 2207, 3066, 4131)
Unlink Stale = 0.129 s (a = 2263 us) (n = 57) (lvls, us = 1562, 1699,
1855, 2773, 3835)
System Dictionary = 0.001 s (a = 12 us) (n = 57) (lvls, us = 10,
11, 12, 13, 24)
Weak Class Links = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0,
0, 1)
Code Roots = 0.128 s (a = 2249 us) (n = 57) (lvls, us = 1543, 1699,
1836, 2754, 3822)
Rendezvous = 0.007 s (a = 124 us) (n = 57) (lvls, us = 82, 107, 117,
119, 205)
Purge Unlinked = 0.008 s (a = 143 us) (n = 57) (lvls, us = 97, 123,
145, 150, 209)
Code Roots = 0.008 s (a = 142 us) (n = 57) (lvls, us = 97, 121,
143, 148, 208)
CLDG = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0, 0, 1)
Exception Caches = 0.000 s (a = 0 us) (n = 57) (lvls, us = 0, 0, 0,
0, 0)
More information about the shenandoah-dev
mailing list