Commit 889b3c12 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Linus Torvalds
Browse files

compiler: remove CONFIG_OPTIMIZE_INLINING entirely



Commit ac7c3e4f ("compiler: enable CONFIG_OPTIMIZE_INLINING
forcibly") made this always-on option. We released v5.4 and v5.5
including that commit.

Remove the CONFIG option and clean up the code now.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Reviewed-by: default avatarMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: David Miller <davem@davemloft.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20200220110807.32534-2-masahiroy@kernel.org


Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 12a5b00a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -285,7 +285,6 @@ CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
+0 −1
Original line number Diff line number Diff line
@@ -282,7 +282,6 @@ CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_UNWINDER_ORC=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
+1 −10
Original line number Diff line number Diff line
@@ -129,22 +129,13 @@ struct ftrace_likely_data {
#define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)

/*
 * Force always-inline if the user requests it so via the .config.
 * Prefer gnu_inline, so that extern inline functions do not emit an
 * externally visible function. This makes extern inline behave as per gnu89
 * semantics rather than c99. This prevents multiple symbol definition errors
 * of extern inline functions at link time.
 * A lot of inline functions can cause havoc with function tracing.
 * Do not use __always_inline here, since currently it expands to inline again
 * (which would break users of __always_inline).
 */
#if !defined(CONFIG_OPTIMIZE_INLINING)
#define inline inline __attribute__((__always_inline__)) __gnu_inline \
	__inline_maybe_unused notrace
#else
#define inline inline                                    __gnu_inline \
	__inline_maybe_unused notrace
#endif
#define inline inline __gnu_inline __inline_maybe_unused notrace

/*
 * gcc provides both __inline__ and __inline as alternate spellings of
+0 −1
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_SLAB is not set
# CONFIG_SLUB is not set
CONFIG_SLOB=y
+0 −12
Original line number Diff line number Diff line
@@ -305,18 +305,6 @@ config HEADERS_INSTALL
	  user-space program samples. It is also needed by some features such
	  as uapi header sanity checks.

config OPTIMIZE_INLINING
	def_bool y
	help
	  This option determines if the kernel forces gcc to inline the functions
	  developers have marked 'inline'. Doing so takes away freedom from gcc to
	  do what it thinks is best, which is desirable for the gcc 3.x series of
	  compilers. The gcc 4.x series have a rewritten inlining algorithm and
	  enabling this option will generate a smaller kernel there. Hopefully
	  this algorithm is so good that allowing gcc 4.x and above to make the
	  decision will become the default in the future. Until then this option
	  is there to test gcc for this.

config DEBUG_SECTION_MISMATCH
	bool "Enable full Section mismatch analysis"
	help