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.
-Alan