From e2d01863bce98a4642c98cf7727ed8bfb0f33c81 Mon Sep 17 00:00:00 2001 From: Nick Terrell Date: Tue, 16 Nov 2021 14:25:18 -0800 Subject: [PATCH] [linux-kernel] Don't add -O3 to CFLAGS It is no longer necessary to get good performance, there is only a small speed difference between -O2 and -O3, so just stick to the default of -O2. I've measured neutral compression speed and a ~3% decompression speed loss in userspace with clang & gcc. I've also measured neutral compression speed and a ~1% decompression speed loss in the kernel benchmarks. This also fixes the stack space usage on parisc. The compiler was buggy for -O3 and used ~3KB of stack space for several functions. With -O2 the problem is completely resolved, and stack space is back to a few hundred bytes. Additionally, we get a large code size win on gcc: | Compiler | Before (Bytes) | After (Bytes) | Delta (Bytes) | |----------|----------------|---------------|---------------| | gcc-11 | 952754 | 738954 | -213800 | | clang-12 | 976290 | 938826 | -37464 | --- contrib/linux-kernel/linux.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/linux-kernel/linux.mk b/contrib/linux-kernel/linux.mk index 9df9c9c6dc..f6f3a8983d 100644 --- a/contrib/linux-kernel/linux.mk +++ b/contrib/linux-kernel/linux.mk @@ -11,7 +11,6 @@ obj-$(CONFIG_ZSTD_COMPRESS) += zstd_compress.o obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd_decompress.o -ccflags-y += -O3 ccflags-y += -Wno-error=deprecated-declarations zstd_compress-y := \