[vfio-users] problem with passthrough and unsafe interrupts

Janusz januszmk6 at gmail.com
Thu Sep 17 15:24:34 UTC 2015


W dniu 17.09.2015 o 17:08, Blank Field pisze:
>
> UEFI systems have GOP. Every device that provides GOP gets a mirrored
> output if not specified by the device driver or the firmware.
> VGA devices say that they can decode VGA, and then an arbitration
> mechanism comes in - there can be only one device working with VGA at
> any given time.
> If your primary GPU is the one that you wish to pass and the one doing
> host VGA - you're screwed, the only way to enable video output for the
> host is to load a device driver for the second card. Stuff like
> Plymouth, frame buffer console and such break.
> And don't even try doing silly things like pressing ctrl-alt-f8 on the
> host while the VM is running: you hope to switch to another virtual
> terminal but in reality you screw up VM's VGA and GPU's memory.
> But if you have a gigabyte motherboard,  you can switch the primary
> VGA device, freeing the needed GPU from host's VGA and allowing the
> host to use the second card via VGA.
>
> The GT610 is a 1GB silent low profile version from gigabyte. Looks
> like it's pretty rare, but it does support UEFI, and if your card
> doesn't - i can send you mine.
>
thanks, so I will probably buy GT610 from gigabyte. To make sure, you
have GeForce GT 610 GV-N610D3-1GI?
> On Sep 17, 2015 5:54 PM, "Janusz" <januszmk6 at gmail.com
> <mailto:januszmk6 at gmail.com>> wrote:
>
>     W dniu 17.09.2015 o 11:49, Blank Field pisze:
>>
>>     Gigabyte motherboards allow you to select your primary GPU, but
>>     it is only relevant to VGA.
>>     Doing nvidia+amd is good because you can be 100% sure that the
>>     host driver won't bind the VM GPU.
>>     I personally have a gt610 paired with hd 7750 and it is totally fine.
>>
>     why its only relevant to VGA?
>     does your gt610 have uefi support? if so, what exactly 610 it is?
>
>>     On Sep 17, 2015 12:34 PM, "Janusz" <januszmk6 at gmail.com
>>     <mailto:januszmk6 at gmail.com>> wrote:
>>
>>         I think its problem with kernel >=4.2 and ovmf, I cant test
>>         it on 4.1 because i915 support for skylake there is
>>         preliminary and I am getting kernel panic at host boot, so I
>>         am thinking about buying cheap another GPU card that will
>>         support 3 monitors (2x 1920x1080 + 1x 2560x1440), is this
>>         possible to setup that my system will use one card (how can I
>>         be sure my motherboard will boot from right GPU?) and I set
>>         another one for vga passthrough? will there be a problem if I
>>         would have one nvidia and one amd gpu?
>>         I include one more time my hw if it is relevant: i7 6700k,
>>         msi z170a M7
>>         My iommu groups:
>>
>>         /sys/kernel/iommu_groups/0/devices/0000:00:00.0
>>          
>>
>>             /sys/kernel/iommu_groups/1/devices/0000:00:01.0
>>             /sys/kernel/iommu_groups/1/devices/0000:01:00.0
>>             /sys/kernel/iommu_groups/1/devices/0000:01:00.1
>>
>>             /sys/kernel/iommu_groups/2/devices/0000:00:02.0
>>             /sys/kernel/iommu_groups/3/devices/0000:00:08.0
>>             /sys/kernel/iommu_groups/4/devices/0000:00:14.0
>>             /sys/kernel/iommu_groups/4/devices/0000:00:14.2
>>             /sys/kernel/iommu_groups/5/devices/0000:00:15.0
>>             /sys/kernel/iommu_groups/5/devices/0000:00:15.1
>>             /sys/kernel/iommu_groups/6/devices/0000:00:16.0
>>             /sys/kernel/iommu_groups/7/devices/0000:00:17.0
>>
>>          
>>
>>             /sys/kernel/iommu_groups/8/devices/0000:00:1c.0
>>             /sys/kernel/iommu_groups/8/devices/0000:00:1c.2
>>             /sys/kernel/iommu_groups/8/devices/0000:00:1c.7
>>             /sys/kernel/iommu_groups/8/devices/0000:02:00.0
>>             /sys/kernel/iommu_groups/8/devices/0000:03:00.0
>>             /sys/kernel/iommu_groups/8/devices/0000:04:00.0
>>
>>          
>>
>>             /sys/kernel/iommu_groups/9/devices/0000:00:1e.0
>>             /sys/kernel/iommu_groups/10/devices/0000:00:1f.0
>>             /sys/kernel/iommu_groups/10/devices/0000:00:1f.2
>>             /sys/kernel/iommu_groups/10/devices/0000:00:1f.3
>>             /sys/kernel/iommu_groups/10/devices/0000:00:1f.4
>>
>>             and lspci:
>>
>>             00:00.0 Host bridge: Intel Corporation Sky Lake Host
>>             Bridge/DRAM
>>             Registers (rev 07)
>>
>>          
>>
>>             00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe
>>             Controller (x16)
>>             (rev 07)
>>
>>          
>>
>>             00:02.0 VGA compatible controller: Intel Corporation Sky
>>             Lake Integrated
>>             Graphics (rev 06)
>>
>>          
>>
>>             00:08.0 System peripheral: Intel Corporation Sky Lake
>>             Gaussian Mixture Model
>>
>>          
>>
>>             00:14.0 USB controller: Intel Corporation Sunrise Point-H
>>             USB 3.0 xHCI
>>             Controller (rev 31)
>>             00:14.2 Signal processing controller: Intel Corporation
>>             Sunrise Point-H
>>             Thermal subsystem (rev 31)
>>
>>          
>>
>>             00:15.0 Signal processing controller: Intel Corporation
>>             Sunrise Point-H
>>             LPSS I2C Controller #0 (rev 31)
>>             00:15.1 Signal processing controller: Intel Corporation
>>             Sunrise Point-H
>>             LPSS I2C Controller #1 (rev 31)
>>
>>          
>>
>>             00:16.0 Communication controller: Intel Corporation
>>             Sunrise Point-H CSME
>>             HECI #1 (rev 31)
>>
>>          
>>
>>             00:17.0 SATA controller: Intel Corporation Device a102
>>             (rev 31)
>>
>>          
>>
>>             00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI
>>             Express Root
>>             Port #1 (rev f1)
>>             00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI
>>             Express Root
>>             Port #3 (rev f1)
>>             00:1c.7 PCI bridge: Intel Corporation Sunrise Point-H PCI
>>             Express Root
>>             Port #8 (rev f1)
>>             00:1e.0 Signal processing controller: Intel Corporation
>>             Sunrise Point-H
>>             LPSS UART #0 (rev 31)
>>
>>          
>>
>>             00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC
>>             Controller
>>             (rev 31)
>>             00:1f.2 Memory controller: Intel Corporation Sunrise
>>             Point-H PMC (rev 31)
>>             00:1f.3 Audio device: Intel Corporation Sunrise Point-H
>>             HD Audio (rev 31)
>>             00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus
>>             (rev 31)
>>
>>
>>          
>>
>>             01:00.0 VGA compatible controller: Advanced Micro
>>             Devices, Inc.
>>             [AMD/ATI] Hawaii PRO [Radeon R9 290]
>>
>>             01:00.1 Audio device: Advanced Micro Devices, Inc.
>>             [AMD/ATI] Device aac8
>>
>>          
>>         02:00.0 USB controller: ASMedia Technology Inc. Device 1242
>>         03:00.0 Ethernet controller: Qualcomm Atheros Device e0a1
>>         (rev 10)
>>         04:00.0 Ethernet controller: Broadcom Corporation NetXtreme
>>         BCM5721
>>         Gigabit Ethernet PCI Express (rev 21)
>>
>>
>>         W dniu 13.09.2015 o 15:44, Okky Hendriansyah pisze:
>>>         I assume you're installing with QEMU machine model Q35, have you tried with model i440FX also? 
>>>
>>>         Best regards,
>>>         Okky Hendriansyah
>>>
>>>>         On Sep 13, 2015, at 20:15, Janusz <januszmk6 at gmail.com> <mailto:januszmk6 at gmail.com> wrote:
>>>>
>>>>         W dniu 13.09.2015 o 15:08, Okky Hendriansyah pisze:
>>>>>         Hi Janus,
>>>>>
>>>>>         Are you trying to upgrade to Windows 10? I had issues when upgrading from Windows 8.1 to Windows 10, after changing the cpu to "core2duo", the upgrade finished and I quickly revert back to "host" on my first reboot.
>>>>>
>>>>>         Best regards,
>>>>>         Okky Hendriansyah
>>>>         no upgrade, I had clean installation on uefi platform done without
>>>>         passing through my gpu, but when I limited threads to 1 windows was
>>>>         unable to boot - every time it reboots it self. I reinstalled windows
>>>>         10, but still have problem that its sometimes reseting it self while
>>>>         loading (no bsod just reset), and just installed windows 8.1, the same
>>>>         problem. The installation both win10 and win8.1 went without problems.
>>>>
>>>>>>         On Sep 13, 2015, at 18:21, Janusz <januszmk6 at gmail.com> <mailto:januszmk6 at gmail.com> wrote:
>>>>>>
>>>>>>         W dniu 13.09.2015 o 00:28, Blank Field pisze:
>>>>>>>         Looking at IOMMU groups, his lspci and his problems, there's no way
>>>>>>>         anyone would want to take intel for VFIO usage.
>>>>>>>         Good lord, that's worse than my system...
>>>>>>>>         No BSOD, only silent reboot or reset on uefi bios display, also reset
>>>>>>>>         issue for gpu (that was already fixed I think in some kernel/qemu
>>>>>>>>         version for hawaii, monitor still gets old display sometimes after
>>>>>>>>         turining off or reset VM), in dmesg I found only those:
>>>>>>>>
>>>>>>>>         [10145.621272] vgaarb: device changed decodes:
>>>>>>>>         PCI:0000:01:00.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
>>>>>>>>         [10145.641778] vgaarb: device changed decodes:
>>>>>>>>         PCI:0000:01:00.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
>>>>>>>>         [10145.760058] [drm:check_wm_state] *ERROR* mismatch in DDB state
>>>>>>>>         pipe A plane 1 (expected (0,0), found (0,289))
>>>>>>>>         [10145.760061] [drm:check_wm_state] *ERROR* mismatch in DDB state
>>>>>>>>         pipe A cursor (expected (0,0), found (289,297))
>>>>>>>>         [10145.760062] [drm:check_wm_state] *ERROR* mismatch in DDB state
>>>>>>>>         pipe B plane 1 (expected (0,0), found (297,586))
>>>>>>>>         [10145.760063] [drm:check_wm_state] *ERROR* mismatch in DDB state
>>>>>>>>         pipe B cursor (expected (0,0), found (586,594))
>>>>>>>>         [10148.490876] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19 at 0x270
>>>>>>>>         [10148.490881] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b at 0x2d0
>>>>>>>>         [10154.080574] usb 1-12: reset low-speed USB device number 5 using
>>>>>>>>         xhci_hcd
>>>>>>>>         [10154.372122] usb 1-12: ep 0x81 - rounding interval to 64
>>>>>>>>         microframes, ep desc says 80 microframes
>>>>>>>>         [10194.443399] kvm: zapping shadow pages for mmio generation wraparound
>>>>>>>>         [10194.453708] kvm: zapping shadow pages for mmio generation wraparound
>>>>>>>>         [10165.930150] usb 1-12: ep 0x81 - rounding interval to 64
>>>>>>>>         microframes, ep desc says 80 microframes
>>>>>>>>         [10168.912066] usb 1-12: reset low-speed USB device number 5 using
>>>>>>>>         xhci_hcd
>>>>>>>>         [10169.203902] usb 1-12: ep 0x81 - rounding interval to 64
>>>>>>>>         microframes, ep desc says 80 microframes
>>>>>>>>
>>>>>>>>
>>>>>>>>         I can be missing something as I get lot of warnings from i915 driver
>>>>>>>>         (known bug for i915 and skylake), but I did grep for kvm and vfio and
>>>>>>>>         didn't find anything else
>>>>>>>>
>>>>>>>>         I am running now dev version of qemu because I wanted to test if
>>>>>>>>         newer version will give better result (it didn't), and didn't
>>>>>>>>         compiled back the stable version yet
>>>>>>>         And yes, I have AMD Catalyst drivers installed in the guest, but as
>>>>>>>         this also happening before it starts to boot windows and when starting
>>>>>>>         windows installation, I don't think this is the reason
>>>>>>         I think I found some solution. I changed number of threads on cpu from 2
>>>>>>         to 1, and windows installation is starting every time now. problem still
>>>>>>         is with installed windows - its rebooting every time it wants to start
>>>>>>         win10, is windows sensitive for such changes?
>>>>>>         When I changed number of threads to 2 and number of cores to 3, problem
>>>>>>         still occurs
>>>>>>
>>>>>>         Also, I upgraded to kernel 4.3-r1
>>>>>>
>>>>>>         I find that someone reported issue to OVMF that it has problems with
>>>>>>         kernel >= 4.2 https://github.com/tianocore/edk2/issues/21, unfortunately
>>>>>>         I am not able to test it on 4.1 or 4.0 as on 4.1 I get some weird
>>>>>>         operations on null pointer in kernel at boot - segfault, and in 4.0 I
>>>>>>         don't even get signal to monitor - probably hardware is too new for
>>>>>>         those versions (I know about i915 preliminary support but its not working)
>>>>>>
>>>>>>         anyway, I am gonna test futher later,  and see if with threads=1,cores=4
>>>>>>         will problem still occur after reinstalling win10
>>>>>>
>>>>>>         _______________________________________________
>>>>>>         vfio-users mailing list
>>>>>>         vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>>>>>         https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>         _______________________________________________
>>         vfio-users mailing list
>>         vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>         https://www.redhat.com/mailman/listinfo/vfio-users
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150917/f6eadef3/attachment.htm>


More information about the vfio-users mailing list