summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2021-05-06 15:34:59 +0800
committerMasahiro Yamada <masahiroy@kernel.org>2021-05-24 12:06:50 +0900
commitcf536e185869d4815d506e777bcca6edd9966a6e (patch)
treed54d136af71ec07adca5db16d959540ffbf071b1
parentc4681547bcce777daf576925a966ffa824edd09d (diff)
downloadlinux-stable-cf536e185869d4815d506e777bcca6edd9966a6e.tar.gz
linux-stable-cf536e185869d4815d506e777bcca6edd9966a6e.tar.bz2
linux-stable-cf536e185869d4815d506e777bcca6edd9966a6e.zip
Makefile: extend 32B aligned debug option to 64B aligned
Commit 09c60546f04f ("./Makefile: add debug option to enable function aligned on 32 bytes") was introduced to help debugging strange kernel performance changes caused by code alignment change. Recently we found 2 similar cases [1][2] caused by code-alignment changes, which can only be identified by forcing 64 bytes aligned for all functions. Originally, 32 bytes was used mainly for not wasting too much text space, but this option is only for debug anyway where text space is not a big concern. So extend the alignment to 64 bytes to cover more similar cases. [1].https://lore.kernel.org/lkml/20210427090013.GG32408@xsang-OptiPlex-9020/ [2].https://lore.kernel.org/lkml/20210420030837.GB31773@xsang-OptiPlex-9020/ Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-rw-r--r--Makefile4
-rw-r--r--lib/Kconfig.debug4
2 files changed, 4 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index e4468353425a..bc59bc6e1701 100644
--- a/Makefile
+++ b/Makefile
@@ -953,8 +953,8 @@ KBUILD_CFLAGS += $(CC_FLAGS_CFI)
export CC_FLAGS_CFI
endif
-ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
-KBUILD_CFLAGS += -falign-functions=32
+ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B
+KBUILD_CFLAGS += -falign-functions=64
endif
# arch Makefile may override CC so keep this after arch Makefile is included
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 678c13967580..6ce26b82a35b 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -400,8 +400,8 @@ config SECTION_MISMATCH_WARN_ONLY
If unsure, say Y.
-config DEBUG_FORCE_FUNCTION_ALIGN_32B
- bool "Force all function address 32B aligned" if EXPERT
+config DEBUG_FORCE_FUNCTION_ALIGN_64B
+ bool "Force all function address 64B aligned" if EXPERT
help
There are cases that a commit from one domain changes the function
address alignment of other domains, and cause magic performance