[vfio-users] Unbind Vfio Passthrough = general protection fault

nahoxou at netcourrier.com nahoxou at netcourrier.com
Wed Sep 23 11:51:39 UTC 2015


I have found the culprit it was snd-hda-intel module. We can see it in the kernel panic in the end of modules list : 
... usbhid hid drm video [last unloaded: snd_hda_intel]. 
I have 100% vm boot and shutdown cycle success when blacklist! But i don't want to blacklist because i need it (alternate use of the nvidia card on qemu win vm and lxc container full vga passtrough ;-) ). I use fuser /dev/snd/* to detect process and I have trouble to rmmod because there are pulseaudio and mate-setttings-daemon who make mess even when disable autospawn with kernel panic... I have already configured Pulseaudio to stop autodetection full hardware and force only take control of intel graphics hdmi (load-module module-alsa-source device=hw:1,0) but there is a conflict because nvidia card use same module than intel graphics hdmi  my primary card. 
Is there a way to split the snd-hda-intel module or force use another modules to make nvidia audio hdmi easy to bind/unbind ? udev rules?


[  139.723267] snd_hda_intel 0000:00:03.0: enabling device (0000 -> 0002)
[  139.723400] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  139.723427] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[  139.723588] snd_hda_intel 0000:01:00.1: Disabling MSI
[  139.723596] snd_hda_intel 0000:01:00.1: Handle VGA-switcheroo audio client
[  578.212315] snd_hda_intel 0000:00:03.0: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[  676.372114] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  680.520332] snd_hda_intel 0000:00:03.0: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[ 1074.094060] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 1078.221733] snd_hda_intel 0000:00:03.0: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[ 1457.109006] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 1461.209577] snd_hda_intel 0000:00:03.0: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[ 2125.074735] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 2129.176143] snd_hda_intel 0000:00:03.0: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj


On Tue, Sep 22, 2015 at 11:34 AM, Alex Williamson <alex.l.williamson at gmail.com> wrote:

On Tue, Sep 22, 2015 at 9:26 AM, <nahoxou at netcourrier.com> wrote:

Thanks for withopf deveject good tool who i use as a shutdown task schedule. I have new improvements now on xserver :
In a first host boot i get 4/5 vm cycles success.
Second host boot same 4/5 result!
The 5th attempt fail in both case.
Another idea please?
Well we're almost there...



What does the xserver have to do with anything?  If I just blacklist nouveau and let libvirt bind and unbind devices to vfio-pci around starting the VM, I don't have any problems.  Even if you were to attempt to unbind the devices from vfio-pci while they're in use by QEMU, the unbind should be blocked until QEMU releases the devices. 






Ok, I think I've seen it once, I'll see if I can make it happen again.  This shouldn't be happening, but... if your goal is only to avoid the oops, why not just leave the device bound to vfio-pci?  Generally we try to avoid host graphics drivers since they behave poorly when trying to unbind in-use devices.


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


More information about the vfio-users mailing list