RFR: JDK-8010767: Build fails on OEL6 with 16 cores

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Mar 14 10:44:54 UTC 2014

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.


More information about the build-dev mailing list