forked from luck/tmp_suning_uos_patched
compiler: remove CONFIG_OPTIMIZE_INLINING entirely
Commit ac7c3e4ff4
("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: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Reviewed-by: Nathan 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: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
12a5b00a53
commit
889b3c1245
|
@ -285,7 +285,6 @@ CONFIG_EARLY_PRINTK_DBGP=y
|
||||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||||
# CONFIG_DEBUG_RODATA_TEST is not set
|
# CONFIG_DEBUG_RODATA_TEST is not set
|
||||||
CONFIG_DEBUG_BOOT_PARAMS=y
|
CONFIG_DEBUG_BOOT_PARAMS=y
|
||||||
CONFIG_OPTIMIZE_INLINING=y
|
|
||||||
CONFIG_SECURITY=y
|
CONFIG_SECURITY=y
|
||||||
CONFIG_SECURITY_NETWORK=y
|
CONFIG_SECURITY_NETWORK=y
|
||||||
CONFIG_SECURITY_SELINUX=y
|
CONFIG_SECURITY_SELINUX=y
|
||||||
|
|
|
@ -282,7 +282,6 @@ CONFIG_EARLY_PRINTK_DBGP=y
|
||||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||||
# CONFIG_DEBUG_RODATA_TEST is not set
|
# CONFIG_DEBUG_RODATA_TEST is not set
|
||||||
CONFIG_DEBUG_BOOT_PARAMS=y
|
CONFIG_DEBUG_BOOT_PARAMS=y
|
||||||
CONFIG_OPTIMIZE_INLINING=y
|
|
||||||
CONFIG_UNWINDER_ORC=y
|
CONFIG_UNWINDER_ORC=y
|
||||||
CONFIG_SECURITY=y
|
CONFIG_SECURITY=y
|
||||||
CONFIG_SECURITY_NETWORK=y
|
CONFIG_SECURITY_NETWORK=y
|
||||||
|
|
|
@ -129,22 +129,13 @@ struct ftrace_likely_data {
|
||||||
#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
#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
|
* Prefer gnu_inline, so that extern inline functions do not emit an
|
||||||
* externally visible function. This makes extern inline behave as per gnu89
|
* externally visible function. This makes extern inline behave as per gnu89
|
||||||
* semantics rather than c99. This prevents multiple symbol definition errors
|
* semantics rather than c99. This prevents multiple symbol definition errors
|
||||||
* of extern inline functions at link time.
|
* of extern inline functions at link time.
|
||||||
* A lot of inline functions can cause havoc with function tracing.
|
* 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 __gnu_inline __inline_maybe_unused notrace
|
||||||
#define inline inline __attribute__((__always_inline__)) __gnu_inline \
|
|
||||||
__inline_maybe_unused notrace
|
|
||||||
#else
|
|
||||||
#define inline inline __gnu_inline \
|
|
||||||
__inline_maybe_unused notrace
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* gcc provides both __inline__ and __inline as alternate spellings of
|
* gcc provides both __inline__ and __inline as alternate spellings of
|
||||||
|
|
|
@ -6,7 +6,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
CONFIG_KERNEL_XZ=y
|
CONFIG_KERNEL_XZ=y
|
||||||
# CONFIG_KERNEL_LZO is not set
|
# CONFIG_KERNEL_LZO is not set
|
||||||
# CONFIG_KERNEL_LZ4 is not set
|
# CONFIG_KERNEL_LZ4 is not set
|
||||||
CONFIG_OPTIMIZE_INLINING=y
|
|
||||||
# CONFIG_SLAB is not set
|
# CONFIG_SLAB is not set
|
||||||
# CONFIG_SLUB is not set
|
# CONFIG_SLUB is not set
|
||||||
CONFIG_SLOB=y
|
CONFIG_SLOB=y
|
||||||
|
|
|
@ -305,18 +305,6 @@ config HEADERS_INSTALL
|
||||||
user-space program samples. It is also needed by some features such
|
user-space program samples. It is also needed by some features such
|
||||||
as uapi header sanity checks.
|
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
|
config DEBUG_SECTION_MISMATCH
|
||||||
bool "Enable full Section mismatch analysis"
|
bool "Enable full Section mismatch analysis"
|
||||||
help
|
help
|
||||||
|
|
Loading…
Reference in New Issue
Block a user