[vfio-users] I need your help!

Paige Thompson paigeadele at gmail.com
Sun Feb 26 19:53:50 UTC 2017


Just wanted to follow up really quick, I have a working solution for audio but not exactly what I had in mind and I haven’t confirmed that the fix is related. But this was a change I wanted to make anyway and I’ve summarized my findings here if you are interested: 

 

https://gist.github.com/cloudkitsch/eefec59233269ace0c9707d0a57e0d5f#gistcomment-2012622

 

Thanks again, 

 

-Paige

 

 

From: Bronek Kozicki [mailto:brok at spamcop.net] 
Sent: Thursday, February 23, 2017 4:03 AM
To: vfio-users at redhat.com; Paige Thompson <paigeadele at gmail.com>
Subject: Re: [vfio-users] I need your help!

 

Hi Paige

 

 

I noticed your -cpu option does not disable hypervisor; you might want to try it, please see http://vfio.blogspot.co.uk/2016/10/how-to-improve-performance-in-windows-7.html for reference. On the example of my virtual machines, this translates to qemu options:

 

-machine pc-i440fx-2.5,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host,-hypervisor,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1000

 

Another thing, I make use of vCPU pinning in my libvirt configuration and I think this would help you as well. The CPUs I use for virtual machines are removed from Linux kernel scheduler, with "isolcpus" option. FWIW my motherboard is SuperMicro X9DA7. And one more thing, when setting up my VMs I took particular care to ensure that the physical cores I pinned my vCPUs to, are all on the same socket and directly attached to PCIe slots that I mapped to my VMs with vfio.

 

 

B.

 

--

  Bronek Kozicki

  brok at spamcop.net <mailto:brok at spamcop.net> 

 

 

 

On Thu, 23 Feb 2017, at 11:22 AM, Paige Thompson wrote:

I have been running this setup since October and I have tried since this time to fix the same issues without any success either in terms of isolating the problem or fixing it. Here’s a lot of details/specs about the setup that I could think of off-hand to include:

 

 <https://gist.github.com/cloudkitsch/eefec59233269ace0c9707d0a57e0d5f> https://gist.github.com/cloudkitsch/eefec59233269ace0c9707d0a57e0d5f

 

However before diving into that I want to merely point out that the problem I’m having is not specific to my graphics configuration which works just fine except that HDMI audio doesn’t work. Not really sure why, maybe because I’m running Windows 10 N? Don’t know. Seems like I remember HDMI audio working on my Radeon 5770 / Opteron setup that I had VFIO setup on quite a while ago.

 

I don’t really want HDMI audio either. I have a Yamaha MG10-XU mixer connected to a USB 3 PCIe card that is also passed through to the guest. It is a USB audio DAC. The problem I’m having is very specifically with this mixer however the mixer works just fine on other computers. It doesn’t matter what buffer size I’m using @ 44.1khz (lowest sampling rate) I still have the same problem which is hard to explain because while I can reproduce it consistently I can’t understand the behavior. Asides from theories, I’m not really sure where I would start to test. I think that other people around me are more frustrated with it than I am but I would really like to first isolate the problem and provide my time (while available) to do what I can to eliminate the behavior or fix the problem.

 

I would like to suggest a few reasons why it might be happening, starting with the fact that the audio will start to skip when the load on the bare metal host increases or is saturated. This is not always the case, but I have not found a way to dedicate specific cores to the gust without having to do something really backwards with numactl to ensure nothing ever touches the cores that the guest is using. Maybe this is not worth trying anyway? It seems to suggest that the USB ASIO driver for the MG10-XU has issues with timing that are impacted by not enough CPU cycles.

 

It must be more than that though, because it seems to also cut out and skip relentlessly with mpeg (x264 specifically.) In a lot of games the sound tends to skip during cinematics and  some high bandwidth movies consistently cause this problem.

 

However, I can get audio playback up to 192khz FLAC working but the driver usually crashes after a while and usually requires the whole system to be pretty idle. The mixer driver doesn’t crash like that on other computers. Both the VGA card and USB card are situated in PCIe slots adjacent to the same CPU in the NUMA topology however I’m not making any changes to the NUMA configuration at runtime, I tried without finding that it made any difference.

 

I used to have another USB card but that one did the same thing. Everything else that I could possibly care about works fantastic, including the mouse responsiveness—I have a whole powered hub of USB devices including an xBox controller connected to the USB card all of which work great. Games work really well in 1080p at 120hz. I would try to pass the mixer through VIA USB redirection (same way I’m doing the corsair PSU) but it wouldn’t work and I don’t imagine it would be much better. I’ve also tried getting my Scarlett 2i2 with it but I have the same kind of problems and it typically doesn’t work for more than 20 seconds at a time.

 

Any thoughts or information you have to share would be appreciated. I’d be happy to try and debug this some more but I’m completely out of ideas of where to go. It’s an interesting problem to say the least. I have tried a a lot of different things except those that I can’t really try. Please get in touch if you have any ideas.

 

Thank you,

 

-Paige

 

_______________________________________________

vfio-users mailing list

 <mailto:vfio-users at redhat.com> vfio-users at redhat.com

 <https://www.redhat.com/mailman/listinfo/vfio-users> https://www.redhat.com/mailman/listinfo/vfio-users

 

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


More information about the vfio-users mailing list