bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Parallel building of Linux Kernel is broken


From: Masahiro Yamada
Subject: Re: Parallel building of Linux Kernel is broken
Date: Mon, 10 Sep 2018 17:16:32 +0900

Hello.


Seems no more feedback for this regression report.

OK, the Linux kernel build system is too complicated.
So, I have come back with a much simpler test-case.

Here, the test-case is only 2 makefiles, less than 50 lines.


Please take a look this problem.

As I already reported, the git-bisect points to

commit 2b8e3bb23f96c2458818f011593557d3353dade3
Author: Paul Smith <address@hidden>
Date:   Mon Jan 2 14:08:54 2017 -0500

    Clean up close-on-exec, particularly with jobserver pipes.




I attached the test case below.

For convenience, this test-case is available from my GitHub repository as well:
https://github.com/masahir0y/make-testcase



[Test Case]

----------------------(Makefile)-------------------------------

# If MAKECMDGOALS contains two or more targets, handle them one by one.
ifneq ($(word 2,$(MAKECMDGOALS)),)
PHONY += $(MAKECMDGOALS) __build_one_by_one

$(filter-out __build_one_by_one, $(MAKECMDGOALS)): __build_one_by_one
        @:

__build_one_by_one:
        set -e; \
        for i in $(MAKECMDGOALS); do \
                $(MAKE) -f Makefile $$i; \
        done

else

ifeq ($(MAKECMDGOALS),config)

config: FORCE
        touch .config

else

include auto.conf

PHONY += all
all:
        echo all

auto.conf: .config
        $(MAKE) -f Makefile.config syncconfig

endif
endif

PHONY += FORCE
FORCE:

.PHONY: $(PHONY)
----------------------(Makefile END)---------------------------

----------------------(Makefile.config)---------------------------
syncconfig:
        touch auto.conf
----------------------(Makefile.config END)---------------------------



[How to run the test case?]

$ make -j8 config all



Thanks.






2018-08-09 11:47 GMT+09:00 Masahiro Yamada <address@hidden>:
> Hello.
>
>
>
> 2018-07-12 20:55 GMT+09:00 Masahiro Yamada <address@hidden>:
>> 2018-07-12 20:26 GMT+09:00 Paul Smith <address@hidden>:
>>> On Thu, 2018-07-12 at 14:51 +0900, Masahiro Yamada wrote:
>>>> I attached information that might be helpful.
>>>> Please take it FWIW.
>>>
>>> The content you quote looks correct to me so if that's what's really in
>>> the makefiles then the problem is a deeper mystery.
>>>
>>> Can you clarify what version of GNU make you're using and how you
>>> obtained it?  I believe that the change you mention is not available in
>>> any released version of GNU make, yet.
>
>
> Any news about this?
>
>
> I tested the latest git version:
>
> commit a1bb739165a944769cbb4a6e4f027ac9c2587122
> Author: Paul Smith <address@hidden>
> Date:   Sat Aug 4 19:20:58 2018 -0400
>
>     * NEWS: Update for the latest changes.
>
>
>
>
> I still see the same problem when building Linux kernel
> with -j option.
>
>
> Thanks.
>
>
>
>>
>>
>> The latest release is GNU Make 4.2.1,
>> which is fine with me.
>>
>>
>> The problem is in the state-of-the-art version in git.
>>
>> I built Make from git tree, like this:
>>
>> $ git checkout 2b8e3bb23f96c2458818f011593557d3353dade3
>> $ autoreconf -i
>> $ ./configure
>> $ make update
>> $ make
>> $ make install
>>
>>
>>
>> --
>> Best Regards
>> Masahiro Yamada
>
>
>
> --
> Best Regards
> Masahiro Yamada



-- 
Best Regards
Masahiro Yamada



reply via email to

[Prev in Thread] Current Thread [Next in Thread]