You are not logged in.
Pages: 1
Hello. I am using QEMU with working PCI passthough.
I am categorically not satisfied with the performance if I using this string in configuration:
-drive file=/dev/disk/by-id/nvme-eui.0024224839c3e6e,if=virtio,format=rawI want to try passthough SSD as PCI device (I have M.2 PCIe SSD).
Here is my VM configuration:
type="system-x86_64"
args=" \
-cpu host,kvm=off,hv_vendor_id=11111111111 \
-machine type=q35,accel=kvm \
-drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/usr/share/ovmf/x64/OVMF_VARS.fd \
-m 8G \
-enable-kvm \
-net none \
-device vfio-pci,host=05:00.0 \
-device vfio-pci,host=07:00.0 \
-device vfio-pci,host=81:00.0 \
-device vfio-pci,host=81:00.1 \
-monitor telnet:localhost:7100,server,nowait,nodelay \
"
haltcmd="echo 'system_powerdown' | nc localhost 7100"05:00.0 - it is ethernet controller, passthough working fine.
07:00.0 - SSD
81:00.0 and 81:00.1 - it is GPU, passthough working fine.
Here is IOMMU groups which i want to passthough to different VMs:
IOMMU Group 42 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP108 [GeForce GT 1030] [10de:1d01] (rev a1)
IOMMU Group 42 02:00.1 Audio device [0403]: NVIDIA Corporation GP108 High Definition Audio Controller [10de:0fb8] (rev a1)
IOMMU Group 43 05:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
IOMMU Group 45 07:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 [144d:a804]
IOMMU Group 49 81:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP108 [GeForce GT 1030] [10de:1d01] (rev a1)
IOMMU Group 49 81:00.1 Audio device [0403]: NVIDIA Corporation GP108 High Definition Audio Controller [10de:0fb8] (rev a1)I have two identical GPU, therefore i using this method (i tryed using classic method with writing VID and PID to /etc/modprobe.d/vfio.conf, but it is not working too)
cat /etc/mkinitcpio.conf
MODULES=(vfio_pci vfio_iommu_type1)
BINARIES=()
FILES=(/etc/modprobe.d/vfio.conf /usr/bin/vfio-pci-override.sh)
HOOKS=(base consolefont keymap modconf udev autodetect block filesystems keyboard fsck)cat /etc/modprobe.d/vfio.conf
install vfio-pci /usr/bin/vfio-pci-override.shcat /usr/bin/vfio-pci-override.sh
#!/bin/sh
echo "vfio-pci" > "/sys/devices/pci0000:80/0000:80:02.0/0000:81:00.0/driver_override" #first GPU
echo "vfio-pci" > "/sys/devices/pci0000:80/0000:80:02.0/0000:81:00.1/driver_override" #first GPU
echo "vfio-pci" > "/sys/devices/pci0000:00/0000:00:02.0/0000:02:00.1/driver_override" #second GPU
echo "vfio-pci" > "/sys/devices/pci0000:00/0000:00:02.0/0000:02:00.0/driver_override" #second GPU
echo "vfio-pci" > "/sys/devices/pci0000:00/0000:00:1c.2/0000:05:00.0/driver_override" #ethernet controller
echo "vfio-pci" > "/sys/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/driver_override" #SSD
modprobe -i vfio-pciDriver overriding is working:
cat "/sys/devices/pci0000:00/0000:00:1c.4/0000:07:00.0/driver_override"
vfio-pciBut IOMMU is not in /dev/vfio.
ls /dev/vfio/
42 43 49 vfioWhen I am running VM, i getting error:
qemu-system-x86_64: -device vfio-pci,host=07:00.00: vfio error: 0000:07:00.0: failed to open /dev/vfio/45: No such file or directoryI do not see any problems in my configuration. I added SSD controller to list just like a GPU or ethernet controller.
I am hope for your help.
Last edited by Jadontie (2018-04-16 09:44:42)
Offline
Did you sort this out? A working setup just started having this problem and I'm trying to figure out what happened. Thanks!
Offline
Pages: 1