[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
- Re: Parallel building of Linux Kernel is broken,
Masahiro Yamada <=