Thanks for the comments, here is a new webrev for the root repo:
http://cr.openjdk.java.net/~erikj/8010767/webrev.root.02/
/Erik
On 2014-03-14 11:44, Magnus Ihse Bursie wrote:
On 2014-03-13 17:08, Erik Joelsson wrote:
Hello,
When building on large machines, the default Hotspot ergonomics are
causing us trouble. Trying to spawn 30 or more jvm instances just
does not work with default options. To tackle this, I've split the
JAVA_FLAGS variable into one common JAVA_FLAGS and two separate
JAVA_FLAGS_BIG and JAVA_FLAGS_SMALL. Big contains the memory settings
that used to be in JAVA_FLAGS. Small sets SerialGC and a smaller
heap. Small is then used for most of our smaller jvm instances in the
build. (Building demos, tools and most notably when running
native2ascii in images to generate _ja man pages).
On the particular machine this was last reported on (32 virtual cpus,
256GB memory), the default setting of JOBS=16 (which is the current
max automatic setting) would fail in native2ascii. With these changes
I'm able to run the build with at least JOBS=100. There is currently
no performance improvement going from 16 to 100 jobs, but it's good
to know we no longer have issues with resources when scaling up.
Bug: https://bugs.openjdk.java.net/browse/JDK-8010767
Webrevs:
http://cr.openjdk.java.net/~erikj/8010767/webrev.root.01/
http://cr.openjdk.java.net/~erikj/8010767/webrev.jdk.01/
Looks good!
However the variable BOOT_JDK_JVMARGS is not used anywhere any longer,
so I'd appreciate if you could remove it completely.
Also, you're outputting this:
AC_MSG_CHECKING([flags for boot jdk java command for big
configurations] )
It's great that you provide user feedback! However, we use the word
"configuration" for a very specific meaning and I think it's better to
rephrase this, maybe something like:
AC_MSG_CHECKING([flags for java command for big workloads])
(also note the absence of space before the end paranthesis). And
correspondingly for small.
/Magnus