[vfio-users] KVM options and the effect on performance

Ryan Flagler ryan.flagler at gmail.com
Thu Oct 29 16:50:59 UTC 2015


Hey everyone, sorry if I'm doing this wrong, this is my first time using a
mailing list. (Side note, if anyone has a better way to view historical
emails than the web page, please let me know)

I've been tinkering with KVM for a bit on my system and had some general
performance questions to ask. I see a lot of people doing VGA passthrough
using the q35 chipset instead of the i440FX chipset. I've personally had no
luck getting q35 to be stable for me, and I've seen some people say it's
not worth the headache. But the big question to me, is there a performance
difference with CPU, VGA, memory etc. using q35? I'm not looking for
specifics, but I'm curious about the following qemu parameters.

Which chipset emulation performs better and in what areas?
q35 vs i440fx

What is the best way to pass a disk through to a VM to get the most
performance?
.img file, /dev/sd[x] disk, virtio-scsi, etc.

What is the best way to handle networking?
virtio-nic, hardware passthrough, bridge, nat, etc.

What is the best way to assign CPUs?
cpu pinning, assigning host cpu parameters, etc.

Does the BIOS have an effect on performance?
seabios vs OVMF?

CPU/Chipset IOMMU support - Not necessarily performance related, but
stability?
e5 vs e3 vs i7 vs cpu architecture etc. What things are good to look for,
what are bad? Etc.

What would be interesting, especially as a new KVM/Qemu user, would be to
see an entire wiki/performance page with examples and specifics. It's hard
to filter through all the various pages of VM options where people don't
really explain why they're doing something the way they are.

Examples:

Disk Options
Best
-device virtio-scsi-pci,id=scsi
-drive file=/dev/sd[x],id=disk,format=ls raw,if=none -device
scsi-hd,drive=disk

Better
-device virtio-scsi-pci,id=scsi
-drive file=/opt/[vm_name].img,id=disk,format=raw -device
scsi-hd,drive=disk

Good
-drive file=/opt/[vm_name].img,id=disk,format=raw -device
ide-hd,bus=ide.0,drive=disk

And maybe an overall explanation of why one is better over the other. I
know this may not exist and I'm not asking a single person to do the leg
work, but being new to this, it's hard to focus on the pieces that matter
vs just using the first thing I find that works. If there is a "right"
place to start something like this I'd be happy to setup a generic page
where more experienced people could easily contribute.

Thanks - Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20151029/82317a43/attachment.htm>


More information about the vfio-users mailing list