From: Prarit Bhargava <prarit@redhat.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jarod Wilson <jarod@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Tony Luck <tony.luck@intel.com>,
zarniwhoop73@googlemail.com,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>
Subject: Re: Odd build breakage in 4.9-rc7
Date: Thu, 01 Dec 2016 09:03:02 -0500 [thread overview]
Message-ID: <58402D96.9020101@redhat.com> (raw)
In-Reply-To: <alpine.LFD.2.20.1611301726240.1715@knanqh.ubzr>
On 11/30/2016 05:41 PM, Nicolas Pitre wrote:
> On Wed, 30 Nov 2016, Linus Torvalds wrote:
>
>> On Wed, Nov 30, 2016 at 10:50 AM, Prarit Bhargava <prarit@redhat.com> wrote:
>>>
>>> It comes back. The steps to reproduce this are:
>>>
>>> 1. checkout latest linux.git
>>> 2. make -j112
>>>
>>> (IOW, it occurs 100% of the time for me on a clean tree.)
>
> I don't have access to such hardware where -j112 could ever make sense. :-)
> In other words, I can't reproduce regardless of the -j value I try.
>
>> I suspect it's not new, it's just that you are able to hit the timing
>> just right (and the new include presumable makes that just be much
>> easier).
>
> Here's the best fix I can think of. I can't convince myself any other
> location would be 100% safe. Obviously I can't confirm if this actually
> fixes anything.
>
> ----- >8
> Subject: kbuild: make sure autoksyms.h exists early
>
> Some people are able to trigger a race where autoksyms.h is used before
> its empty version is even created. Let's create it at the same time as
> the directory holding it is created.
>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>
>
> diff --git a/Makefile b/Makefile
> index 694111b43c..9f9c3b577c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1019,8 +1019,6 @@ prepare2: prepare3 prepare-compiler-check outputmakefile asm-generic
> prepare1: prepare2 $(version_h) include/generated/utsrelease.h \
> include/config/auto.conf
> $(cmd_crmodverdir)
> - $(Q)test -e include/generated/autoksyms.h || \
> - touch include/generated/autoksyms.h
>
> archprepare: archheaders archscripts prepare1 scripts_basic
>
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index ebced77deb..90a091b6ae 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -35,6 +35,8 @@ nconfig: $(obj)/nconf
>
> silentoldconfig: $(obj)/conf
> $(Q)mkdir -p include/config include/generated
> + $(Q)test -e include/generated/autoksyms.h || \
> + touch include/generated/autoksyms.h
> $< $(silent) --$@ $(Kconfig)
>
> localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
>
The testing was successful.
After testing an hour of builds with different -j values, I'm no longer seeing
any compile issues when this patch is applied. When I remove the patch the
compile error returns so I'm going to say that this patch fixed it.
Thanks again Nicolas.
Tested-by: Prarit Bhargava <prarit@redhat.com>
P.
next prev parent reply other threads:[~2016-12-01 14:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-30 17:24 Odd build breakage in 4.9-rc7 Jarod Wilson
2016-11-30 18:18 ` Linus Torvalds
2016-11-30 18:28 ` Prarit Bhargava
2016-11-30 18:36 ` Linus Torvalds
2016-11-30 18:50 ` Prarit Bhargava
2016-11-30 19:00 ` Jarod Wilson
2016-11-30 19:35 ` Linus Torvalds
2016-11-30 22:41 ` Nicolas Pitre
2016-12-01 12:47 ` Prarit Bhargava
2016-12-01 14:03 ` Prarit Bhargava [this message]
2016-12-01 15:22 ` Jarod Wilson
2016-11-30 22:54 ` Nicolas Pitre
2016-11-30 20:52 ` Paul Bolle
2016-11-30 21:07 ` Jarod Wilson
2016-11-30 21:35 ` Jarod Wilson
2016-11-30 21:42 ` Paul Bolle
2016-11-30 21:57 ` Paul Bolle
2016-11-30 23:40 ` Jarod Wilson
2016-12-01 9:01 ` Paul Bolle
2016-12-01 13:46 ` Paul Bolle
2016-12-01 17:42 ` Nicolas Pitre
2016-12-01 20:15 ` Paul Bolle
2016-12-02 20:11 ` Nicolas Pitre
2016-12-02 22:41 ` Jarod Wilson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=58402D96.9020101@redhat.com \
--to=prarit@redhat.com \
--cc=jarod@redhat.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolas.pitre@linaro.org \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=zarniwhoop73@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.