Messages in this thread | | | Date | Wed, 21 Nov 2018 09:02:58 +0100 | From | Ingo Molnar <> | Subject | Re: [tip:locking/core] locking/atomics: Check generated headers are up-to-date |
| |
* 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
| |