* Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > Good point. With my main box (AMD EPYC 7502P), with the performance governor... > > GCC: > > Benchmark 1: ARCH=x86_64 defconfig (linux) > Time (mean ± σ): 48.685 s ± 0.049 s [User: 1969.835 s, System: 204.166 s] > Range (min … max): 48.620 s … 48.782 s 10 runs > > Benchmark 2: ARCH=x86_64 defconfig (linux-fast-headers) > Time (mean ± σ): 46.797 s ± 0.119 s [User: 1403.854 s, System: 154.336 s] > Range (min … max): 46.620 s … 47.052 s 10 runs > > Summary > 'ARCH=x86_64 defconfig (linux-fast-headers)' ran > 1.04 ± 0.00 times faster than 'ARCH=x86_64 defconfig (linux)' > > LLVM: > > Benchmark 1: ARCH=x86_64 defconfig (linux) > Time (mean ± σ): 51.816 s ± 0.079 s [User: 2208.577 s, System: 200.410 s] > Range (min … max): 51.671 s … 51.900 s 10 runs > > Benchmark 2: ARCH=x86_64 defconfig (linux-fast-headers) > Time (mean ± σ): 46.806 s ± 0.062 s [User: 1438.972 s, System: 154.846 s] > Range (min … max): 46.696 s … 46.917 s 10 runs > > Summary > 'ARCH=x86_64 defconfig (linux-fast-headers)' ran > 1.11 ± 0.00 times faster than 'ARCH=x86_64 defconfig (linux)' > > $ rg KALLSYMS .config > 246:CONFIG_KALLSYMS=y > 247:# CONFIG_KALLSYMS_ALL is not set > 248:CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y > 249:CONFIG_KALLSYMS_BASE_RELATIVE=y > 250:CONFIG_KALLSYMS_FAST=y > 706:CONFIG_HAVE_OBJTOOL_KALLSYMS=y > > It seems like everything is working right but maybe the build is so > short that there just is not much time for the difference to be as > apparent? Yeah, x86 defconfig doesn't have KALLSYMS_ALL - while all distro configs I checked have it enabled, because it makes crash printouts / backtraces more informative. Lockep will also enable it unconditionally. So I've applied the patch below, to make the x86 defconfig more representative of what people are using in practice. This will also, as a side effect, bring elapsed time improvements closer to what the underlying cpu-time improvements offer, in the small-config case too. Thanks, Ingo ====================================> From: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed, 5 Jan 2022 01:31:35 +0100 Subject: [PATCH] x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs Most distro kernels have this option enabled, to improve debug output. Lockdep also selects it. Enable this in the defconfig kernel as well, to make it more representative of what people are using on x86. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> --- arch/x86/configs/i386_defconfig | 1 + arch/x86/configs/x86_64_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig index 5d97a2dfbaa7..71124cf8630c 100644 --- a/arch/x86/configs/i386_defconfig +++ b/arch/x86/configs/i386_defconfig @@ -261,3 +261,4 @@ CONFIG_BLK_DEV_IO_TRACE=y CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_DEBUG_BOOT_PARAMS=y +CONFIG_KALLSYMS_ALL=y diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig index 30ab3e582d53..92b1169ec90b 100644 --- a/arch/x86/configs/x86_64_defconfig +++ b/arch/x86/configs/x86_64_defconfig @@ -257,3 +257,4 @@ CONFIG_BLK_DEV_IO_TRACE=y CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_DEBUG_BOOT_PARAMS=y +CONFIG_KALLSYMS_ALL=y