RFR: JDK-8056053: Disable HOTSPOT_BUILD_JOBS when building with configure

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Aug 27 13:38:35 UTC 2014

On 8/27/14 7:09 AM, Daniel D. Daugherty wrote:
> On 8/27/14 6:53 AM, Erik Joelsson wrote:
>> Thanks David and Magnus for the reviews!
>> Now for pushing this. The changes in root and hotspot need to go 
>> together. They should not affect the standalone hotspot build, nor 
>> the resulting built bits. I think it is safe to push both to 
>> jdk9/hs-rt as it would not affect testing compatibility with the 
>> promoted jdk build. Is it ok to do so?
> Not only OK, but also the preferred way to go! Alejandro prefers that
> HotSpot makefile changes come up through HotSpot repos so we don't
> get any surprises...

Forgot to say: Thumbs up! on the changes.


> Dan
>> /Erik
>> On 2014-08-26 12:53, Erik Joelsson wrote:
>>> Hello,
>>> Please review this proposed fix for the Hotspot build.
>>> In the new jdk9 build, we utilize the gnu make job server, which 
>>> automatically makes sure the -j flag gets propagated and shared 
>>> between all recursive make calls. In the hotspot build, this gets 
>>> overridden by the HOTSPOT_BUILD_JOBS variable. Configure estimates a 
>>> reasonable number of parallel make jobs into the JOBS variable, 
>>> which gets propagated to the HOTSPOT_BUILD_JOBS variable. This used 
>>> to work well enough, but in the new build, the hotspot build is 
>>> happening concurrently with other parts of the build and the 
>>> consequence is that the hotspot build gets JOBS number of jobs and 
>>> the rest of the build also gets JOBS number of jobs, all of which 
>>> are used at the same time. We would like the whole build to share in 
>>> the same job pool.
>>> To fix this, the setting of -j$(HOTSPOT_BUILD_JOBS) needs to be made 
>>> conditional and we need to add .NOTPARALLEL: to a number of 
>>> makefiles in hotspot that currently can't handle being executed in 
>>> parallel. Lastly, the + sign must be added first to recipe lines 
>>> that call make recursively but are not explicitly using the MAKE 
>>> variable directly. The result will be that the active -j flag in the 
>>> root makefiles will just automatically propagate down to the hotspot 
>>> makefiles.
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8056053
>>> Webrev: http://cr.openjdk.java.net/~erikj/8056053/webrev.01/
>>> /Erik

More information about the build-dev mailing list