public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: tglx@linutronix.de, hpa@zytor.com, linux-kernel@vger.kernel.org,
	peterz@infradead.org, boqun.feng@gmail.com, will.deacon@arm.com,
	linux-tip-commits@vger.kernel.org, akpm@linux-foundation.org,
	torvalds@linux-foundation.org
Subject: Re: [tip:locking/core] locking/atomics: Check generated headers are up-to-date
Date: Wed, 21 Nov 2018 11:40:29 +0000	[thread overview]
Message-ID: <20181121114028.iiuleuwuayednvut@salmiak> (raw)
In-Reply-To: <20181121080258.GA56691@gmail.com>

Hi Ingo,

On Wed, Nov 21, 2018 at 09:02:58AM +0100, Ingo Molnar wrote:
> 
> * tip-bot for Mark Rutland <tipbot@zytor.com> wrote:
> 
> > Commit-ID:  8d32588077bdc390420cfa6946f407033a20d7a8
> > Gitweb:     https://git.kernel.org/tip/8d32588077bdc390420cfa6946f407033a20d7a8
> > Author:     Mark Rutland <mark.rutland@arm.com>
> > AuthorDate: Tue, 4 Sep 2018 11:48:29 +0100
> > Committer:  Ingo Molnar <mingo@kernel.org>
> > CommitDate: Thu, 1 Nov 2018 11:01:10 +0100
> > 
> > locking/atomics: Check generated headers are up-to-date
> > 
> > Now that all the generated atomic headers are in place, it would be good
> > to ensure that:
> > 
> > a) the headers are up-to-date when scripting changes.
> > 
> > b) developers don't directly modify the generated headers.
> > 
> > To ensure both of these properties, let's add a Kbuild step to check
> > that the generated headers are up-to-date.
> > 
> > Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> > Cc: linux-arm-kernel@lists.infradead.org
> > Cc: catalin.marinas@arm.com
> > Cc: Will Deacon <will.deacon@arm.com>
> > Cc: linuxdrivers@attotech.com
> > Cc: dvyukov@google.com
> > Cc: Boqun Feng <boqun.feng@gmail.com>
> > Cc: arnd@arndb.de
> > Cc: aryabinin@virtuozzo.com
> > Cc: glider@google.com
> > Link: http://lkml.kernel.org/r/20180904104830.2975-6-mark.rutland@arm.com
> > Signed-off-by: Ingo Molnar <mingo@kernel.org>
> > ---
> >  Kbuild                          | 18 ++++++++++++++++--
> >  scripts/atomic/check-atomics.sh | 19 +++++++++++++++++++
> >  2 files changed, 35 insertions(+), 2 deletions(-)
> 
> These scripts are *awfully* slow to be run at every kernel build - even a 
> reasonably fast machine:

Andrew also reported this, and I'm trying to figure out what to do.

I looked into optimizing the scripts, but that turned out to be a dead end.
The majority of the cost is in the fork() etc for sub-shells, which the scripts
make heavy use of to capture string return values. Trying to avoid sub-shells
rendered the scripts unreadable.

> Could we please get this fixed so that proper dependencies are checked 
> and it's only regenerated when needed? This slowdown makes additive-build 
> kernel development quite painful, as ~5 seconds is in the 'too long' 
> category already, while 1.2 seconds is basically instantaneous.

Just to check, are we happy to eat the full cost for the first build of a
pristine tree?

One reason we do the check rather than (re-)generating the headers is that
Linus requested [1] the generated header be committed so that they show up in
git grep, but it looks like he was happy to be flexible on that.

If we're happy to not commit in the generated headers, and if we're happy to
pay the cost for a pristine tree, that's fairly straightforward to do.
Otherwise, this has to be an optional check.

Thoughts?

Thanks,
Mark.

[1] https://lkml.kernel.org/r/CA+55aFxjU0op8QLLu0n-RjHBs7gQsLvD8jcyedgw6jeZFN7B+Q@mail.gmail.com

  reply	other threads:[~2018-11-21 11:40 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 10:48 [PATCHv3 0/6] atomics: generate atomic headers / instrument arm64 Mark Rutland
2018-09-04 10:48 ` [PATCHv3 1/6] atomics: add common header generation files Mark Rutland
2018-11-01  9:54   ` [tip:locking/core] locking/atomics: Add " tip-bot for Mark Rutland
2018-11-01 10:06   ` tip-bot for Mark Rutland
2018-11-15 23:03   ` [PATCHv3 1/6] atomics: add " Andrew Morton
2018-11-15 23:10   ` Andrew Morton
2018-11-16  2:51     ` Mark Rutland
2018-11-21 22:34       ` Andrew Morton
2018-09-04 10:48 ` [PATCHv3 2/6] atomics: switch to generated fallbacks Mark Rutland
2018-11-01  9:55   ` [tip:locking/core] locking/atomics: Switch " tip-bot for Mark Rutland
2018-11-01 10:07   ` tip-bot for Mark Rutland
2018-09-04 10:48 ` [PATCHv3 3/6] atomics: switch to generated atomic-long Mark Rutland
2018-11-01  9:55   ` [tip:locking/core] locking/atomics: Switch " tip-bot for Mark Rutland
2018-11-01 10:08   ` tip-bot for Mark Rutland
2018-09-04 10:48 ` [PATCHv3 4/6] atomics: switch to generated instrumentation Mark Rutland
2018-11-01  9:56   ` [tip:locking/core] locking/atomics: Switch " tip-bot for Mark Rutland
2018-11-01 10:08   ` tip-bot for Mark Rutland
2018-09-04 10:48 ` [PATCHv3 5/6] atomics: check generated headers are up-to-date Mark Rutland
2018-11-01  9:57   ` [tip:locking/core] locking/atomics: Check " tip-bot for Mark Rutland
2018-11-01 10:09   ` tip-bot for Mark Rutland
2018-11-21  8:02     ` Ingo Molnar
2018-11-21 11:40       ` Mark Rutland [this message]
2018-11-28  8:30         ` Ingo Molnar
2018-09-04 10:48 ` [PATCHv3 6/6] arm64: use instrumented atomics Mark Rutland
2018-11-01  9:57   ` [tip:locking/core] arm64: Use " tip-bot for Mark Rutland
2018-11-01 10:09   ` [tip:locking/core] arm64, locking/atomics: " tip-bot for Mark Rutland
2018-10-08 17:15 ` [PATCHv3 0/6] atomics: generate atomic headers / instrument arm64 Mark Rutland
2018-10-19 10:27   ` Will Deacon

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=20181121114028.iiuleuwuayednvut@salmiak \
    --to=mark.rutland@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=boqun.feng@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=will.deacon@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox