I'm running a Windows XP guest which is experiencing poor performance with the virtio drivers. I'm booting the guest with the modified vfio kernel and qemu from https://github.com/awilliam/qemu-vfio and https://github.com/awilliam/linux-vfio to use a vfio PCI device, as well as using the qemu from CentOS 6.2 with libvirt. I record and play back SD video just fine with the VFIO kernel and qemu versions. It's only when I've started to transfer HD content that it now halts the system. The libvirt qemu reports version 0.12.1.2 The qemu-vfio reports version 1.0.92 I'm running them both on the VFIO kernel. Here are the numbers I'm experiencing: Disk Access 56.2 MB/sec, 25.2ms Average,16.3% CPU usage VirtIO+qemu-vfio: 56.5 MB/sec, 23.0ms Average,07.0% CPU usage VirtIO+libvirt: Network: Testing with jpeft to a windows 7 machine through a gigabit switch. Read: 123.0 Mbits/s ~42% CPU, Write 057.4 Mbits/s ~60% CPU -- VirtIO+qemu-vfio Read: 177.0 Mbits/s ~24% CPU, Write 104.0 Mbits/s ~24% CPU -- VirtIO+libvirt Running a duplex test on the machine with jperf causes the network adapter to lock up. It affects the guest and host at the same time. Sometimes the card will recover and be accessible again, other times it never comes back and requires a reboot (or possible network service restart). With this network overhead streaming 1 or 2 videos to clients regularly causes stuttering as the guest cpu hits 100% on both cores. The Host however, does not show nearly as much CPU utilization as the guest. My qemu run script is: /usr/local/bin/qemu-system-x86_64 \ -m 3048 \ -netdev type=tap,id=guest0,vhost=on \ -device virtio-net-pci,netdev=guest0,mac=52:54:00:b9:bf:b0 \ -cpu Opteron_G3,+wdt,+skinit,+osvw,+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+aes,+sse4.2,+sse4.1,+ssse3,+ht,+vme \ -smp 2,sockets=2,cores=1,threads=1 \ -enable-kvm \ -name SageTv \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \ -drive file=/dev/vg_hdd/lv_sagetv,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 \ -device vfio-pci,host=04:07.0,id=hostdev0 \ -vga std \ -usb \ -device usb-tablet,id=input0 \ -rtc base=localtime,driftfix=slew \ -monitor telnet::5901,server,nowait & As you can see I'm running from a raw LVM partition, both instance that I'm testing here are booted from the same partition (not at the same time!). Here is the output of lspci: 00:00.0 Host bridge: ATI Technologies Inc RD890 PCI to PCI bridge (external gfx0 port B) (rev 02) 00:00.2 Generic system peripheral [0806]: ATI Technologies Inc RD990 I/O Memory Management Unit (IOMMU) 00:02.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port B) 00:04.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port D) 00:09.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port H) 00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40) 00:12.0 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.2 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:13.0 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.2 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 42) 00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40) 00:14.3 ISA bridge: ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller (rev 40) 00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40) 00:14.5 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 00:15.0 PCI bridge: ATI Technologies Inc SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) 00:16.0 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:16.2 USB controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 0 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 1 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 2 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 3 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 4 00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 15h Processor Function 5 01:00.0 VGA compatible controller: ATI Technologies Inc RV620 LE [Radeon HD 3450] 01:00.1 Audio device: ATI Technologies Inc RV620 HDMI Audio [Radeon HD 3400 Series] 02:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) 04:07.0 Multimedia video controller: Internext Compression Inc iTVC15 MPEG-2 Encoder (rev 01) Thanks, Chris -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html