[Top][All Lists]

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

[Qemu-discuss] Odd QXL performance issue with a Windows 7 Guest

From: Brad Campbell
Subject: [Qemu-discuss] Odd QXL performance issue with a Windows 7 Guest
Date: Sun, 1 Sep 2019 21:28:30 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

G'day all,

I have a box which has the sole purpose of running a Windows 7 VM. It's an i7-3770K built in 2013 and happily runs a Windows 7 VM with 2 QXL heads which are displayed remotely over a 1GB ethernet to a client running the spicy spice-gtk client.

This works extremely well, and has been pretty flawless over the years I've used it.

A year or so ago I built a pair of AMD Ryzen boxes and I thought I might be able to migrate the VM across to one of the Ryzen boxes and decommission the i7. No issues doing that *except* in the display performance. This has made the VM unusable for the task and I've been trying to figure out what is going on. That led to be running "Crystalmark" to "benchmark" the relative machines and was most illuminating.

CPU/FPU/Memory/Storage are all comparable. GDI performance is similar, but when we get to the D2D test the Intel box runs at about ~50 FPS and the AMD box runs ~5FPS. That explains the interactive issues when running CAD in the guest.

So, to try and debug this I've tried :
- New (current) Spice/QEMU build on the AMD box.
- Complete rsync of QEMU/Spice and all dependencies from the Intel to the AMD box. - Clean Windows 7 guest install on the AMD box with the latest QEMU and guest Virtio drivers. - Clean Windows 7 guest install on the AMD box with QEMU/Spice/Deps rsynced across from the Intel box.

I'm absolutely perplexed. I've dropped the guest down to a single head and removed the qxl driver reverting to the standard windows driver and that gives me > 100 FPS.

I've tried enabling simpletrace and run traces on both machines. Aside from the intel machine time deltas for the commands being ~ half those on the AMD box I really can spot anything strange.

Both are running recent kernels and aside from the AMD/Intel KVM selector are running the same KVM and timer configurations, so I'm a bit lost. Anyone have any ideas I can try on instrumenting any elements to try and find out what is going on?

I use this to launch the VM on both machines.

qemu -enable-kvm\
 -m 24576\
 -rtc base=localtime\
 -vga qxl\
 -device qxl\
 -net nic,model=virtio\
 -net tap,ifname=tap0,script=/etc/qemu-ifup,vhost=on\
 -usbdevice tablet\
 -spice port=5930,disable-ticketing\
 -device virtio-serial\
 -chardev spicevmc,id=vdagent,name=vdagent\
 -device virtserialport,chardev=vdagent,name=com.redhat.spice.0\
 -smp 4,maxcpus=4,cpus=4,cores=4,threads=1,sockets=1\
 -cpu kvm64,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
-drive file=/server/VM/Cadbox.raw,if=virtio,aio=threads,format=raw,cache=unsafe -boot c \ -drive file=/server/VM/Cadbox_swap.raw,if=virtio,aio=threads,format=raw,cache=unsafe \
 -monitor telnet:,server,nowait

An expert is a person who has found out by his own painful
experience all the mistakes that one can make in a very
narrow field. - Niels Bohr

reply via email to

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