lkml.org 
[lkml]   [2022]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs

* Nathan Chancellor <nathan@kernel.org> 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@kernel.org>
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@kernel.org>
---
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
\
 
 \ /
  Last update: 2022-01-05 01:36    [W:0.225 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site