On Wed, Jun 29, 2022 at 7:48 PM Miko Larsson <mikoxyzzz@xxxxxxxxx> wrote: > > On Tuesday, 28 June 2022 23:04:07 CEST Nick Desaulniers wrote: > > 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 15f5db60a137 ("kbuild,arc: add > > CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC") without re-adding > > ARCH_CFLAGS > > > > Ever since > > commit cfdbc2e16e65 ("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. > > > > Might be worth cleaning up the rest of the kernel of instances of -O3, > too. -O3 used to build lz4 and mips vdso, for instance. Might be a bit > of a digression, though This patch focuses on the removal of CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, so I think it is OK as-is. The rest of cleanups, if needed, should be submitted separately. > > -- > ~miko > > -- Best Regards Masahiro Yamada