RFR (round 2), JEP-318: Epsilon GC

Leonid Mesnik leonid.mesnik at oracle.com
Wed May 9 18:08:26 UTC 2018


I haven't review all changes. Just have a couple of small comments about tests. 
1) It makes a sense to add @requires tag to all epsilon tests like it is done for other GC-specific tests. So jtreg filter them out if epsilon GC is not supported or any other GC is set in command-line explicitly.
Also  you don't need to have any additional conditional checks and  in tests themselves since you know that epsilon GC is supported inside the test.

See example for G1-specific test:
http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/hotspot/jtreg/gc/g1/TestConcurrentSystemGC.java <http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/hotspot/jtreg/gc/g1/TestConcurrentSystemGC.java>

The 'requires' support is here:
http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/jtreg-ext/requires/VMProps.java <http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/jtreg-ext/requires/VMProps.java>
http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/lib/sun/hotspot/gc/GC.java <http://hg.openjdk.java.net/jdk/jdk/file/54eda3aad6dd/test/lib/sun/hotspot/gc/GC.java>

2) Also I don't see why these tests are not in tier1. 

Group tier1_gc_2 includes all tests in gc/ until they are excluded explicitly. So you need to exclude gc/epsilon tests from it.


> On May 7, 2018, at 7:58 AM, Aleksey Shipilev <shade at redhat.com> wrote:
> Hi,
> This is round 2 code review for Epsilon GC changes.
> JEP, targeted to 11:
>  http://openjdk.java.net/jeps/318
>  (you can find links to binary builds and sandbox locations there)
> Webrev:
>  http://cr.openjdk.java.net/~shade/epsilon/webrev.06/
> Notes:
>  *) See how the whole thing is almost completely isolated to hotspot/share/gc, without having
> arch-specific mess -- thanks to GC interface work done over last years. The only leftover is the
> change in graphKit.cpp that should go away after C2 barriers modularization [1] is complete;
>  *) Recently added GC TLD facility and Elastic TLABs feature enables Epsilon to be more streamlined
> in figuring out the TLAB sizes;
>  *) Conditional GC compilation is supported. ISVs may choose not to build Epsilon, if they do not
> want to extend whatever small notion of support that comes with experimental VM option [2].
>  *) Half of the webrev are Epsilon-specific tests. They take ~30s in release and ~60s in fastdebug
> on my desktop. They are not in tier1, so smoke testing time is not affected;
> Builds:
>    server X {x86_64, x86_32, aarch64, arm32, ppc64le, s390x}
>      zero X {x86_64}
>   minimal X {x86}
> Testing: gc/epsilon on x86_64
> Thanks,
> -Aleksey
> [1] https://bugs.openjdk.java.net/browse/JDK-8202377
> [2] http://hg.openjdk.java.net/jdk/jdk/file/3661f31c6df4/src/hotspot/share/runtime/globals.hpp#l150

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20180509/3d87ee27/attachment.html>

More information about the hotspot-gc-dev mailing list