RFR: 8021588 : (s) Remove explicit othervm execution from jdk/test/Makefile

Alan Bateman Alan.Bateman at oracle.com
Sat Jul 27 17:41:34 UTC 2013

On 26/07/2013 16:09, Mike Duigou wrote:
> Hello all;
> I heard word from Alan Bateman that the jdk/test/TEST.ROOT includes accurate specification of which tests cannot be run by JTReg in agentvm mode. ie. they require othervm mode.
Yes although it's actually somewhat distributed because it can be 
overridden by specific tests (in the @run tag) and we also have a few 
TEST.properties in the tree that override it too. The main thing is that 
it's in the test suite so anyone can run jtreg -agentvm and the tests 
will run in right mode.

>   I tested out removing the duplicate othervm specification from the jdk/test/Makefile and everything still seems to run.
> http://cr.openjdk.java.net/~mduigou/JDK-8021588/0/webrev/
> Removes othervm specifications from the test/Makefile and other resulting simplifications.
> This lets us further simplify the jdk/test/Makefile and removes needless duplication. Great!
> I've been playing with another change inspired by work done by Tim Bell. When running tests concurrently it helps to specify -XX+UseSerialGC to avoid over creation of GC threads for what are mostly short lived tests. Testing jdk_utils on my 24 core / 32GB dev box using serial GC provides about 5%-10% speedup and appears to reduce memory usage by 20% or more. Unfortunately there are a few tests in java.lang.manangement which explicitly request incompatible GC options. I haven't figured out yet how to allow these tests to override the -XX+UseSerialGC vmoption in a sane way. (I can think of several rude ways to do it). So for now, this change is commented out.
The changes in the webrev look good to me. It's good to finally remove 
some of the logic and I think a lot more can be removed over time too 
(in particularly the mapping of test targets to directories which really 
needs to be checked into the test suite as group definitions) and the 
exclude list handling as the ProblemList should be specified to jtreg 
via -exclude without any processing in the make file.

I think the issue of conflicting GC options has come up on the hotspot 
list a few times too. This may be a case where there needs to be a way 
to run a test in othervm mode in a way that doesn't pick up the vmoptions.


More information about the core-libs-dev mailing list