RFR: 8166790: Add stress test GCBasher

David Holmes david.holmes at oracle.com
Thu Sep 29 04:14:18 UTC 2016


Hi Erik,

On 29/09/2016 1:01 AM, Erik Helin wrote:
> Hi all,
>
> this patch adds a new GC stress test called GCBasher. GCBasher builds up
> large (well, for some definiton of large) object graphs by figuring out
> the relations between classes in the JDK. The test usually stresses the
> GC quite a lot, especially when run with a smaller heap.
>
> The changes in the top-level repository are for JPRT. JPRT will now run
> the jtreg test GCBasher instead of the old version.
>
> Enhancement:
> https://bugs.openjdk.java.net/browse/JDK-8166790
>
> Webrev:
> - hotspot: http://cr.openjdk.java.net/~ehelin/8166790/hotspot/00/

Can't comment on actual test but placement etc looks fine.

One query:

test/gc/stress/gcbasher/TestGCBasher.java

You are running with -server explicitly. Should you not also have 
@requires vm == server (or whatever the syntax is) as well?

> - top: http://cr.openjdk.java.net/~ehelin/8166790/top/00/

Nit: The new end lines like:

  337     solaris_sparcv9_5.11-product-c2-runThese8,
  345     solaris_x64_5.11-product-c2-runThese8_Xcomp_vm,
  370     windows_i586_6.3-product-c2-runThese8_Xcomp_vm,
  378     windows_x64_6.3-product-c2-runThese8_Xcomp_vm,

should not have the trailing comma.

This seems wrong:

  443 
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_fast_gc_gcbasher}, 
        \
  444 
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_fast_runtime}, 
            \
  445 
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_fast_serviceability}, 
     \
  446 
${my.make.rule.test.targets.hotspot.reg.group:GROUP=jdk_svc_sanity}, 
              \
  447   solaris_sparcv9_5.11-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  448   solaris_x64_5.11-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  449   linux_i586_3.8-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  450   linux_x64_3.8-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  451   macosx_x64_10.9-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  452   windows_i586_6.3-product-c2-hotspot_fast_gc_gcbasher, 
                      \
  453   windows_x64_6.3-product-c2-hotspot_fast_gc_gcbasher, 
                      \

You've added the new tests through a group substitution at line 443, but 
then have added each platform individually. I don't think 447 - 453 
should be there else the test will run twice per platform.

Thanks,
David
-----

> Testing:
> - Running the new jtreg test locally on Linux x86-64:
>   $ jtreg -jdk:build/fastdebug/jdk hotspot/test/gc/stress/TestGCBasher.java
>
>   (can also be run via: $ make test TEST=hotspot_fast_gc_gcbasher)
> - JPRT
>
> Thanks,
> Erik
>



More information about the build-dev mailing list