unwind_init() takes 100 ms
From: Paul Menzel
Date: Mon Oct 08 2018 - 05:52:52 EST
Dear Josh, dear Linux folks,
Trying to decrease the boot time of the 64-bit Linux kernel (Linux
4.19-rc7 (0238df64)) on a Asus F2A85-M PRO with an AMD processor, I
noticed `unwind_init()` called from `setup_arch()`
`arch/x86/kernel/setup.c` takes over 100 ms to initialize according to
Linux time stamps (which are present for early boot now).
```
[â]
[ 0.047650] ACPI: HPET id: 0x10228210 base: 0xfed00000
[ 0.047653] smpboot: Allowing 4 CPUs, 2 hotplug CPUs
[ 0.047670] [mem 0x8f000000-0xfebfffff] available for PCI devices
[ 0.047672] clocksource: refined-jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[ 0.151426] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:4
nr_node_ids:1
[ 0.151892] percpu: Embedded 44 pages/cpu @(____ptrval____) s142552
r8192 d29480 u524288
[â]
```
Thatâs a third of the time to get to unpacking the initramfs.
Therefore, I have several questions.
1. Can you reproduce that on your systems?
2. Can this be decreased or moved out of the âhot pathâ?
3. If not, how can this be disabled? I was unable to do so in the
configuration menu. I could always select an unwinder under *Kernel
hacking*, and was not able to disable it. I
4. Would a command line parameter be reasonable `disable_unwind`, so
people could decrease their boot time with distribution kernels, and
easily turn it back on, when they need a stacktrace without having to
rebuild the Linux kernel?
Kind regards,
Paul