qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Slow qemu guest performance after host is resumed from susp


From: Ruslan Habalov
Subject: [Qemu-devel] Slow qemu guest performance after host is resumed from suspended state
Date: Sun, 4 Dec 2016 23:52:10 +0100

Hi everyone,

I'm having the following qemu issue since about February on Xubuntu.

Steps to reproduce:
1) Boot host and boot qemu guest - everything works perfect
2) Shutdown qemu guest
3) Suspend host and resume host
4) Boot qemu guest again - the guest is now extremely slow

Current system setup:
host: kernel 4.8.0-27-generic (also reproducible with older kernel versions)
qemu guest: Linux or Windows affected (tested both)

I've tried to debug the issue on my own with the following results:
------------------------------------------------------------------------------------------------------------------------------
https://www.evonide.com/images/qemu_problem.png
- This shows "perf top $QEMU_PID" from guest boot to shutdown for three
different scenarios:
  Left: normal guest behavior after fresh boot of host system
  Middle: very slow guest after host was suspended and resumed
  Right: test run with disabled HPET (since I initially assumed some
problems with HPET)

https://www.evonide.com/images/qemu_hpet_investigation.png
- Results of "perf record -g" and "perf report"
  According to stefanha (qemu IRC) this doesn't seem to indicate any error
sources.

https://www.evonide.com/images/qemu_vm_exit_healthy_vs_unhealthy.png
- Results of running: "perf record -a -e kvm:kvm_exit" and "perf
report" from guest boot to shutdown
  - Left: normal situation (after fresh host boot)
  - Right: bad situation    (after suspend and resume on host and boot of
qemu guest)
  There were ~300 out of order events reported by perf for the "bad"
scenario (vs. only 2 for the "good" scenario).
------------------------------------------------------------------------------------------------------------------------------
I was also recommended to check the host timers (e.g. /proc/timer_list).
However, this file has more than 800 lines and I am unsure what to look for.

Please let me know if you need further information on this issue.

Best regards,
Ruslan Habalov (Evonide)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]