From: Nick Terrell Date: Tue, 16 Nov 2021 22:25:18 +0000 (-0800) Subject: [linux-kernel] Don't add -O3 to CFLAGS X-Git-Tag: v1.5.1~1^2~56^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2866%2Fhead;p=thirdparty%2Fzstd.git [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 | --- diff --git a/contrib/linux-kernel/linux.mk b/contrib/linux-kernel/linux.mk index 9df9c9c6d..f6f3a8983 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 := \