linux/arch
Nick Desaulniers a6036a41bf kbuild: drop support for CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
The difference in most compilers between `-O3` and `-O2` is mostly down
to whether loops with statically determinable trip counts are fully
unrolled vs unrolled to a multiple of SIMD width.

This patch is effectively a revert of
commit 15f5db60a1 ("kbuild,arc: add
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC") without re-adding
ARCH_CFLAGS

Ever since
commit cfdbc2e16e ("ARC: Build system: Makefiles, Kconfig, Linker
script")
ARC has been built with -O3, though the reason for doing so was not
specified in inline comments or the commit message. This commit does not
re-add -O3 to arch/arc/Makefile.

Folks looking to experiment with `-O3` (or any compiler flag for that
matter) may pass them along to the command line invocation of make:

$ make KCFLAGS=-O3

Code that looks to re-add an explicit Kconfig option for `-O3` should
provide:
1. A rigorous and reproducible performance profile of a reasonable
   userspace workload that demonstrates a hot loop in the kernel that
   would benefit from `-O3` over `-O2`.
2. Disassembly of said loop body before and after.
3. Provides stats on terms of increase in file size.

Link: https://lore.kernel.org/linux-kbuild/CA+55aFz2sNBbZyg-_i8_Ldr2e8o9dfvdSfHHuRzVtP2VMAUWPg@mail.gmail.com/
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2022-07-27 21:17:59 +09:00
..
alpha Cleanups (and one fix) around struct mount handling. 2022-06-04 19:00:05 -07:00
arc kbuild: drop support for CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 2022-07-27 21:17:59 +09:00
arm xen: security patches for v5.19 2022-07-05 09:18:32 -07:00
arm64 ARM: SoC fixes for v5.19, part 2 2022-07-04 10:41:59 -07:00
csky This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
hexagon fork: Generalize PF_IO_WORKER handling 2022-05-07 09:01:59 -05:00
ia64 Bitmap patches for 5.19-rc1 2022-06-04 14:04:27 -07:00
loongarch LoongArch: Fix section mismatch warning 2022-07-07 17:41:01 +08:00
m68k This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
microblaze This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
mips mips: lantiq: Add missing of_node_put() in irq.c 2022-06-21 22:34:03 +02:00
nios2 This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
openrisc openrisc: unwinder: Fix grammar issue in comment 2022-06-28 17:31:24 +09:00
parisc parisc: Fix vDSO signal breakage on 32-bit kernel 2022-07-02 18:36:58 +02:00
powerpc powerpc/powernv: delay rng platform device creation until later in boot 2022-07-04 21:11:47 +10:00
riscv A Single RISC-V Fix for 5.19-rc4 2022-06-24 12:34:13 -07:00
s390 s390/qdio: Fix spelling mistake 2022-06-30 19:40:36 +02:00
sh This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
sparc This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
um um: virt-pci: set device ready in probe() 2022-06-10 20:38:06 -04:00
x86 - Prepare for and clear .brk early in order to address XenPV guests 2022-07-10 08:43:52 -07:00
xtensa xtensa: change '.bss' to '.section .bss' 2022-06-20 02:50:34 -07:00
.gitignore
Kconfig A set of objtool fixes: 2022-06-05 09:45:27 -07:00