From: tip-bot for Mark Rutland <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: boqun.feng@gmail.com, mark.rutland@arm.com, peterz@infradead.org,
hpa@zytor.com, linux-kernel@vger.kernel.org, will.deacon@arm.com,
tglx@linutronix.de, mingo@kernel.org
Subject: [tip:locking/core] locking/atomics: Check generated headers are up-to-date
Date: Thu, 1 Nov 2018 02:57:04 -0700 [thread overview]
Message-ID: <tip-85f8507192fbfb4ad2ac01de879cb50045f4247f@git.kernel.org> (raw)
In-Reply-To: <20180904104830.2975-6-mark.rutland@arm.com>
Commit-ID: 85f8507192fbfb4ad2ac01de879cb50045f4247f
Gitweb: https://git.kernel.org/tip/85f8507192fbfb4ad2ac01de879cb50045f4247f
Author: Mark Rutland <mark.rutland@arm.com>
AuthorDate: Tue, 4 Sep 2018 11:48:29 +0100
Committer: Peter Zijlstra <peterz@infradead.org>
CommitDate: Thu, 1 Nov 2018 10:48:19 +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.
Cc: linux-arm-kernel@lists.infradead.org
Cc: catalin.marinas@arm.com
Cc: Ingo Molnar <mingo@kernel.org>
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
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180904104830.2975-6-mark.rutland@arm.com
---
Kbuild | 18 ++++++++++++++++--
scripts/atomic/check-atomics.sh | 19 +++++++++++++++++++
2 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/Kbuild b/Kbuild
index 005304205482..47c9fe175bd9 100644
--- a/Kbuild
+++ b/Kbuild
@@ -6,7 +6,8 @@
# 2) Generate timeconst.h
# 3) Generate asm-offsets.h (may need bounds.h and timeconst.h)
# 4) Check for missing system calls
-# 5) Generate constants.py (may need bounds.h)
+# 5) check atomics headers are up-to-date
+# 6) Generate constants.py (may need bounds.h)
#####
# 1) Generate bounds.h
@@ -72,7 +73,20 @@ missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE
$(call cmd,syscalls)
#####
-# 5) Generate constants for Python GDB integration
+# 5) Check atomic headers are up-to-date
+#
+
+always += old-atomics
+targets += old-atomics
+
+quiet_cmd_atomics = CALL $<
+ cmd_atomics = $(CONFIG_SHELL) scripts/atomic/check-atomics.sh
+
+old-atomics: scripts/atomic/check-atomics.sh FORCE
+ $(call cmd,atomics)
+
+#####
+# 6) Generate constants for Python GDB integration
#
extra-$(CONFIG_GDB_SCRIPTS) += build_constants_py
diff --git a/scripts/atomic/check-atomics.sh b/scripts/atomic/check-atomics.sh
new file mode 100644
index 000000000000..c30101cddf2d
--- /dev/null
+++ b/scripts/atomic/check-atomics.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Check if atomic headers are up-to-date
+
+ATOMICDIR=$(dirname $0)
+ATOMICTBL=${ATOMICDIR}/atomics.tbl
+LINUXDIR=${ATOMICDIR}/../..
+
+cat <<EOF |
+gen-atomic-instrumented.sh asm-generic/atomic-instrumented.h
+gen-atomic-long.sh asm-generic/atomic-long.h
+gen-atomic-fallback.sh linux/atomic-fallback.h
+EOF
+while read script header; do
+ if ! (${ATOMICDIR}/${script} ${ATOMICTBL} | diff - ${LINUXDIR}/include/${header} > /dev/null); then
+ printf "warning: include/${header} is out-of-date.\n"
+ fi
+done
next prev parent reply other threads:[~2018-11-01 9:57 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-bot for Mark Rutland [this message]
2018-11-01 10:09 ` [tip:locking/core] locking/atomics: Check " tip-bot for Mark Rutland
2018-11-21 8:02 ` Ingo Molnar
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=tip-85f8507192fbfb4ad2ac01de879cb50045f4247f@git.kernel.org \
--to=tipbot@zytor.com \
--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=mingo@kernel.org \
--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.