Messages in this thread | | | Date | Wed, 14 Jun 2023 11:30:11 +0100 | From | "Richard W.M. Jones" <> | Subject | Re: printk.time causes rare kernel boot hangs |
| |
OK I have a simpler test:
$ while true; do qemu-system-x86_64 -no-user-config -nodefaults -display none -machine accel=kvm:tcg,graphics=off -cpu max,la57=off -m 1280 -no-reboot -rtc driftfix=slew -no-hpet -global kvm-pit.lost_tick_policy=discard -kernel vmlinux -serial stdio -append "panic=1 console=ttyS0 edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=UUID=7cd9caf4-6491-41a5-b387-38af6fa2d638 selinux=0 guestfs_verbose=1 TERM=xterm-256color" >& /tmp/log ; echo -n . ; done
where "vmlinux" is a locally compiled kernel with CONFIG_PRINTK_TIME=y set. I'm using the current git head.
This will print dots about once a second. When it stops printing dots (after potentially many thousands of iterations), take a look at /tmp/log to see if it has hung at:
[ 0.071830] Freeing SMP alternatives memory: 48K
I tried connecting gdb to qemu but so far I've not successfully managed to collect a usable stack trace. I can't seem to get it to print symbols, even though I believe I have disabled kASLR, but still trying.
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
| |