All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: mark.rutland@arm.com, tglx@linutronix.de, hpa@zytor.com,
	linux-kernel@vger.kernel.org, peterz@infradead.org,
	boqun.feng@gmail.com, will.deacon@arm.com
Cc: linux-tip-commits@vger.kernel.org
Subject: Re: [tip:locking/core] locking/atomics: Check generated headers are up-to-date
Date: Wed, 21 Nov 2018 09:02:58 +0100	[thread overview]
Message-ID: <20181121080258.GA56691@gmail.com> (raw)
In-Reply-To: <tip-8d32588077bdc390420cfa6946f407033a20d7a8@git.kernel.org>


* 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:

  model name	: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz

... they are adding 3-4 seconds to the build time:

[Before]:

  galatea:~/linux/linux> perf stat --null --repeat 3 make kernel/sched/core.o
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool

 Performance counter stats for 'make kernel/sched/core.o' (3 runs):

          1.201874 +- 0.000371 seconds time elapsed  ( +-  0.03% )


[After]:

  galatea:~/linux/linux> perf stat --null --repeat 3 make kernel/sched/core.o

  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool

 Performance counter stats for 'make kernel/sched/core.o' (3 runs):

            4.5987 +- 0.0109 seconds time elapsed  ( +-  0.24% )

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.

I cannot even imagine the slowdown on a truly slow box where kernel 
development *has* to be additive.

Thanks,

	Ingo

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

Thread overview: 41+ 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 ` Mark Rutland
2018-09-04 10:48 ` [PATCHv3 1/6] atomics: add common header generation files Mark Rutland
2018-09-04 10:48   ` 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:03     ` Andrew Morton
2018-11-15 23:10   ` Andrew Morton
2018-11-15 23:10     ` Andrew Morton
2018-11-16  2:51     ` Mark Rutland
2018-11-16  2:51       ` Mark Rutland
2018-11-21 22:34       ` Andrew Morton
2018-11-21 22:34         ` Andrew Morton
2018-09-04 10:48 ` [PATCHv3 2/6] atomics: switch to generated fallbacks Mark Rutland
2018-09-04 10:48   ` 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-09-04 10:48   ` 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-09-04 10:48   ` 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-09-04 10:48   ` 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 [this message]
2018-11-21 11:40       ` Mark Rutland
2018-11-28  8:30         ` Ingo Molnar
2018-09-04 10:48 ` [PATCHv3 6/6] arm64: use instrumented atomics Mark Rutland
2018-09-04 10:48   ` 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-08 17:15   ` Mark Rutland
2018-10-19 10:27   ` Will Deacon
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=20181121080258.GA56691@gmail.com \
    --to=mingo@kernel.org \
    --cc=boqun.feng@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --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 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.