concurrency problem?

Erik Joelsson erik.joelsson at oracle.com
Thu Oct 4 01:28:36 PDT 2012


Magnus did the first change, Fredrik thought it wrong and reverted it. 
Magnus later fixed it with NOTPARALLEL (and possibly some more tweaks).

/Erik

On 2012-10-04 10:08, David Holmes wrote:
> On 4/10/2012 5:38 PM, Erik Joelsson wrote:
>> To avoid that problem, we added the special .NOTPARALLEL: target, which
>> forces that specific makefile to ignore any -j, while still keeping it
>> on the command line for any submakes. The reason for splitting it up was
>> to support a poor mans faster incremental build, using the *-only 
>> targets.
>
> So why was the original change restructured? Wouldn't the NOTPARALLEL 
> have fixed it?
>
> David
>
>> /Erik
>>
>> On 2012-10-04 08:24, David Holmes wrote:
>>> Guess I was right as:
>>>
>>> http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/a23c17af08ab
>>>
>>> undid it all. Unfortunately the "broken" version is what is in the
>>> jdk8 repo. :(
>>>
>>> David
>>>
>>> On 4/10/2012 4:01 PM, David Holmes wrote:
>>>> This changeset:
>>>>
>>>> http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/02aca0e4c2f5
>>>>
>>>> broke up the all target, which had been defined in the following 
>>>> style:
>>>>
>>>> # Import (corba jaxp jaxws langtools hotspot)
>>>> $(MAKE) -f Import.gmk
>>>> #
>>>> $(MAKE) -f GenerateJavaSources.gmk
>>>> # Ok, now gensrc is fully populated.
>>>> $(MAKE) -f GenerateData.gmk
>>>> ...
>>>>
>>>> so that there was a separate target for each of the $(MAKE) 
>>>> invocations,
>>>> and the all target then simply became:
>>>>
>>>> all: import gensrc gendata classes libs launchers genclasses demos
>>>> samples
>>>>
>>>> but doesn't that allow for the different dependencies to be 
>>>> potentially
>>>> built in parallel, where originally everything had to be done in 
>>>> strict
>>>> sequential order?
>>>>
>>>> David



More information about the build-infra-dev mailing list