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

[vfio-users] R9 380 Performance Issues



Running into some issues with passing through an R9 380 (besides the usual reset bug). Processor's a 5960x, if that's relevant.
 
First up, I'm running Arch Linux on kernel 4.4.5. For what it's worth, the issues occurred on the latest Fedora kernel, too.
 
I'm using OVMF rather than VGA, vfio-pci only, no pci-stub. The passthrough itself works, using either libvirt or QEMU directly. However, I'm only seeing ~60% of native GPU performance running benchmarks in the VM. Other than that, the VM performs fine (although it takes an oddly long time to boot).
 
My QEMU options are as follows:
 
taskset -ac 4-15 qemu-system-x86_64 \
    -name Win10 \
    -enable-kvm \
    -nodefaults \
    -nodefconfig \
    -rtc base=localtime \
    -cpu host \
    -smp sockets=1,cores=6,threads=2 \
    -m 24756 \
    -soundhw hda \
    -serial none \
    -parallel none \
    -drive if=pflash,format=raw,readonly,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd \
    -drive if=virtio,format=raw,cache=none,aio=native,file=/dev/guests/win10 \
    -device vfio-pci,host=02:00.0,multifunction=on \
    -device vfio-pci,host=02:00.1 \
    -usb -device usb-host,hostbus=2,hostaddr=4 \
    -usb -device usb-host,hostbus=2,hostaddr=3
 
Both the devices I'm passing through constitute a whole IOMMU group.
 
dmesg doesn't bring up any errors. To be honest, I'm not sure how to begin deciphering this, as you can probably tell. This is the first time I've attempted GPU passthrough, on a new system, and after reading about the workarounds necessary to get nvidia cards working I figured AMD was the better choice. Clearly I was wrong!
 
Did I make an (expensive!) mistake in purchasing a R9 380, or have other people had better luck? Does anyone know how to go about improving performance? I haven't experimented with hugepages, but the problem seems to be solely "graphical" in nature. CPU pinning doesn't seem to make any difference, as you'd expect.
 

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