RFR: JDK-8211727: Adjust default concurrency settings for running tests on Sparc

David Holmes david.holmes at oracle.com
Wed Nov 14 04:03:40 UTC 2018

Hi Erik,

Thanks for all the work you did in trying to stabilize this.

One comment ...

On 14/11/2018 7:34 am, Erik Joelsson wrote:
> This patch changes the formula for default test concurrency in 
> RunTest.gmk. The current formula is:
> min(cpus/2, 12)
> This seems to work well enough on the x64 machines we currently run our 
> tests on, but less so for Sparc. I have now run rather extensive testing 
> in our lab and have come up with a new formula that provides much better 
> test reliability while preserving as much test throughput as possible. 
> The new formula is cpus/4 for sparcs with up to 16 cpus and cpus/5 for 
> larger machines. For non Sparc it's still cpus/2 and I've removed the 
> cap for all.

I'm surprised that you removed the cap and that it is okay. IIRC we had 
problems with large #CPU machines but only medium amounts of RAM. Too 
high a concurrency level would result in memory exhaustion.


> In addition to this, since Sparc generally have lower per thread 
> performance, at least when running JDK tests, I have bumped the default 
> timeout factor from 4 to 8 for Sparc.
> With these defaults, we were able to remove a lot of special cases for 
> Sparc in other parts of our configurations and I was able to get clean 
> runs of all the lower tiers of testing, on each of our machine classes 
> in the lab.
> In addition to this, the test 
> compiler/jsr292/ContinuousCallSiteTargetChange.java, which had its 
> timeout increased in JDK-8212028, no longer needs an increased timeout 
> with the new defaults.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8211727
> Webrev: http://cr.openjdk.java.net/~erikj/8211727/webrev.01/
> /Erik

More information about the build-dev mailing list