The stalls in the test kernel seem to happen at and after the guest prints tsc: Refined TSC clocksource calibration: 1000.022 MHz clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0xe6a2bd9634, max_idle_ns: 440795211s hdc: QEMU DVD-ROM, ATAPI CD/DVD-ROM drive clocksource: Switched to clocksource tsc
so I suspect a bad interaction between what icount is doing and in particular our emulation of the x86 timestamp counter and what Linux does with it. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1774677 Title: -icount increases boot time by >10x Status in QEMU: Confirmed Bug description: When I specify the -icount option, some guest operations such as booting a Linux kernel take more than 10 times longer than otherwise. For example, the following will boot Aboriginal Linux to the login prompt about 6 seconds on my system (using TCG, not KVM): wget http://landley.net/aboriginal/downloads/old/binaries/1.4.5/system-image-i686.tar.gz gunzip <system-image-i686.tar.gz | tar xfv - cd system-image-i686 sh run-emulator.sh If I replace the last line with QEMU_EXTRA="-icount shift=auto" sh run-emulator.sh booting to the login prompt takes about 1 minute 20 seconds. I have tried different values for "shift" other than the "auto" used above, but have not been able to find one that gives reasonable performance. Specifying "sleep=off" also did not help. During the slow boots, qemu appears to spend most of its time sleeping, not using the host CPU. I see this with multiple versions of qemu, including current git sources (c181ddaa176856b3cd2dfd12bbcf25fa9c884a97), and on multiple host OSes, including Debian 9 on x86_64. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1774677/+subscriptions