Re: Linux 6.5 speed regression, boot VERY slow with anything systemd related

From: Tony Lindgren
Date: Thu Sep 07 2023 - 11:53:42 EST


* Marc Haber <mh+linux-kernel@xxxxxxxxxxxx> [230907 10:14]:
> The most basic reproducer I found is:
>
> /usr/bin/qemu-system-x86_64 \
> -m 768 \
> -machine pc-i440fx-2.1,accel=kvm,usb=off,dump-guest-core=off \
> -nodefaults \
> -drive file=/dev/prom/lasso2,format=raw,if=none,id=drive-virtio-disk0,cache=none,discard=unmap,aio=native \
> -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,write-cache=on \
> -serial stdio

So I tried something similar with just kernel and ramdisk:

qemu-system-x86_64 \
-m 768 \
-machine pc-i440fx-2.1,accel=kvm,usb=off,dump-guest-core=off \
-nodefaults \
-kernel ~/bzImage \
-initrd ~/ramdisk.img \
-serial stdio \
-append "console=ttyS0 debug"

It boots just fine for me. Console seems to come up a bit faster if I
leave out the machine option. I tried this with qemu 8.0.3 on a m1 laptop
running linux in case the machine running the qemu host might make some
difference..

On dmesg I see 8250 come up:

[ 0.671877] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.680185] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

> Simplifying the drive and device virtio-blk-pci lines prevents the
> initramfs of the VM from finding the disk and thus the system doesn't
> get as far to show the issue.
>
> If you want to see it work, add
> -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,bus=pci.0,addr=0x2 \
> -vnc :1
> point a vncviewer to port 5901, remove the "serial=ttyS0" configuration
> and see the system run normally.
>
> What else can I do?

Still a minimal reproducable test case is needed.. Or do you have the
dmesg output of the failing boot?

Regards,

Tony