[vfio-users] Win 10 VM often freezes Linux when shutting down

Alex Williamson alex.williamson at redhat.com
Thu Feb 18 20:26:31 UTC 2016


On Thu, 18 Feb 2016 21:06:36 +0100
Jens Zimmermann <zimmermannjens888 at gmail.com> wrote:

> I am using PCIE1 for the nvidia 210 (host) and PCIE3 for nvidia 750 Ti
> (guest): http://i.imgur.com/iFR7Vn9.png
> With the 5820k the lane distribution is 16 (PCI1) /8 (PCIE3) / 4 (PCIE5),
> so there are not many options to choose from. Actually I would prefer to
> have the 750 Ti in slot 1 so it would have more lanes, but I could not find
> any option to boot from a different slot than 1. Do you happen to know how
> I could use the 210 for my Linux host and still get 16 lanes for the 750 Ti?

I would guess a x8 Gen3 slot is far more than adequate for a 750Ti.
I'm not even sure high-end cards need x16 Gen3 from the articles I've
read, so I can see why this misconfiguration would nag at you, but from
an actual performance perspective, it's probably meaningless.

> Alex, your guess is correct, it's Intel Corporation C610/X99 series chipset
> HD Audio Controller which I use for sound both on my host and guest (not at
> the same time).
> Regarding nodedev-detach and managed="no", I can only do it for the
> graphics card since I need all the other devices for the host after the VM
> was shut down, right? So I would do "virsh nodedev-detach pci_0000_01_00_0"
> and "virsh nodedev-detach pci_0000_01_00_1" and then set managed="no" for
> both devices? Do I need to apply the nodedev-detach command every time I
> boot the PC?
> If it is some other assigned device that is causing the freezes there is
> nothing I can do which does not result in a reboot?

Dual host/guest duty on the motherboard audio is likely to bite you.
Last time I looked at the code, there was a fixed array and each time a
device was added it used an index, but never freed it.  It leaked
index as devices were unbound.  So if you do:

for i in $(seq 1 50); do
   virsh nodedev-detach pci_0000_00_1b_0
   virsh nodedev-reattach pci_0000_00_1b_0
done

You'll probably have some issues.  This is related to
CONFIG_SND_MAX_CARDS in your kernel config.  If you reboot the host
more often than every 32 instances, no problem.

You should already be using some mechanism to prevent host drivers from
binding to the GPU and GPU-audio devices, Linux graphics drivers really
don't like devices coming and going.  If you're not doing that, follow
my guide and do that first.  If you're already doing that, it may be
that motherboard audio biting you.  Thanks,

Alex




More information about the vfio-users mailing list