Bug 1000250 - kvm/qemu virtual machine with VFIO VGA pass-through causes errors in the USB driver of the host [NEEDINFO]
Summary: kvm/qemu virtual machine with VFIO VGA pass-through causes errors in the USB ...
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 19
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-23 04:21 UTC by Cristian Ciupitu
Modified: 2014-03-10 14:41 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-10 14:41:48 UTC
Type: Bug
Embargoed:
jforbes: needinfo?


Attachments (Terms of Use)
lspci -vv # on the guest (8.83 KB, text/plain)
2013-08-23 04:23 UTC, Cristian Ciupitu
no flags Details
lspci -vv # on the host (27.24 KB, text/plain)
2013-08-23 04:24 UTC, Cristian Ciupitu
no flags Details
virsh dumpxml guest (5.44 KB, text/plain)
2013-08-23 04:25 UTC, Cristian Ciupitu
no flags Details

Description Cristian Ciupitu 2013-08-23 04:21:38 UTC
Description of problem:
I have a Fedora 19 x86_64 virtual machine to which I have assigned a
Nvidia 7600 GS card using VFIO.  If I boot the virtual machine and load
the video card driver, when I shut it down the mouse of the host starts
moving slowly.  The logs from the host seem to indicate an error in the
USB driver (usb_hcd_irq).

As soon as I start the virtual machine again without necessarily loading
the nouveau kernel module, the mouse starts moving normaly.

Also if I start the virtual machine and load the nvidia proprietary
driver, the mouse keeps moving normaly even after shutdown i.e. the
problem disappears.


Version-Release number of selected component (if applicable):
kernel-3.10.7-200.fc19.x86_64 (guest)
kmod-nvidia-304xx-3.10.7-200.fc19.x86_64-304.88-2.fc19.4.x86_64 (guest)
kernel-3.10.7-200.fc19.x86_64 (host)
libvirt-daemon-1.1.1-2.fc19.x86_64 (host)
qemu-kvm-1.6.0-1.fc19.x86_64 (host)


How reproducible:
Every time


Steps to Reproduce:
1. Create a Fedora 19 x86_64 virtual machine and assign a Nvidia 7600 GS
   video card to it using VFIO:

    <hostdev mode='subsystem' type='pci' managed='no'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </hostdev>

2. Boot the virtual machine without loading the nouveau driver i.e. use
   the rd.driver.blacklist=nouveau kernel parameter and create
   beforehand a file named `/etc/modprobe.d/blacklist-nouveau.conf` with
   the following content:

    blacklist nouveau
    options nouveau modeset=0

3. Load the nouveau driver by running `modprobe nouveau modeset=1`.
4. Shutdown the virtual machine.


Actual results:
The following errors appear on the host:
kernel: irq 16: nobody cared (try booting with the "irqpoll" option)
kernel: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W    3.10.7-200.fc19.x86_64 #1
kernel: Hardware name:                  /DZ77BH-55K, BIOS BHZ7710H.86A.0100.2013.0517.0942 05/17/2013
kernel:  ffff880802fe298c ffff88082ee03e50 ffffffff816390fb ffff88082ee03e78
kernel:  ffffffff810eb0f2 ffff880802fe2900 0000000000000010 0000000000000000
kernel:  ffff88082ee03eb8 ffffffff810eb508 ffffffff814e8212 0000000000000000
kernel: Call Trace:
kernel:  <IRQ>  [<ffffffff816390fb>] dump_stack+0x19/0x1b
kernel:  [<ffffffff810eb0f2>] __report_bad_irq+0x32/0xd0
kernel:  [<ffffffff810eb508>] note_interrupt+0x138/0x1f0
kernel:  [<ffffffff814e8212>] ? cpuidle_enter_state+0x52/0xc0
kernel:  [<ffffffff810e8f01>] handle_irq_event_percpu+0xe1/0x1e0
kernel:  [<ffffffff810e9036>] handle_irq_event+0x36/0x60
kernel:  [<ffffffff810ec045>] handle_fasteoi_irq+0x55/0xf0
kernel:  [<ffffffff8101326f>] handle_irq+0xbf/0x150
kernel:  [<ffffffff8164312a>] ? atomic_notifier_call_chain+0x1a/0x20
kernel:  [<ffffffff816493cd>] do_IRQ+0x4d/0xc0
kernel:  [<ffffffff8163f42d>] common_interrupt+0x6d/0x6d
kernel:  <EOI>  [<ffffffff814e8212>] ? cpuidle_enter_state+0x52/0xc0
kernel:  [<ffffffff814e8208>] ? cpuidle_enter_state+0x48/0xc0
kernel:  [<ffffffff814e8349>] cpuidle_idle_call+0xc9/0x210
kernel:  [<ffffffff81019e1e>] arch_cpu_idle+0xe/0x30
kernel:  [<ffffffff810aa40e>] cpu_startup_entry+0xce/0x280
kernel:  [<ffffffff81623297>] rest_init+0x77/0x80
kernel:  [<ffffffff81d0aedc>] start_kernel+0x40a/0x416
kernel:  [<ffffffff81d0a8db>] ? repair_env_string+0x5c/0x5c
kernel:  [<ffffffff81d0a120>] ? early_idt_handlers+0x120/0x120
kernel:  [<ffffffff81d0a5da>] x86_64_start_reservations+0x2a/0x2c
kernel:  [<ffffffff81d0a6cf>] x86_64_start_kernel+0xf3/0x100
kernel: handlers:
kernel: [<ffffffff81452fc0>] usb_hcd_irq
kernel: Disabling IRQ #16


Expected results:
No errors


Additional info:
[root@guest ~]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-3.10.7-200.fc19.x86_64 root=UUID=881db1dc-efc2-43bb-8c83-915e449e9be5 ro rd.md=0 rd.lvm=0 rd.dm=0 vconsole.keymap=us rd.luks=0 vconsole.font=latarcyrheb-sun16 log_buf_len=1M rd.driver.blacklist=nouveau,nvidia

[root@host ~]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-3.10.7-200.fc19.x86_64 root=/dev/mapper/hermesVG-Fedora--rootVol ro rd.luks=0 rd.md=0 rd.dm=0 rd.luks=0 vconsole.keymap=us intel_iommu=on rd.driver.blacklist=nvidia,nouveau nouveau.modeset=0 video=VGA-1:d log_buf_len=3M

The IOMMU group of the video card from the host, contains two devices:
0000:00:01.0 and 0000:01:00.0 (for more details see attached lspci).

Comment 1 Cristian Ciupitu 2013-08-23 04:23:35 UTC
Created attachment 789438 [details]
lspci -vv # on the guest

Comment 2 Cristian Ciupitu 2013-08-23 04:24:45 UTC
Created attachment 789439 [details]
lspci -vv # on the host

Comment 3 Cristian Ciupitu 2013-08-23 04:25:59 UTC
Created attachment 789440 [details]
virsh dumpxml guest

Comment 4 Cristian Ciupitu 2013-08-23 04:29:18 UTC
I forgot to mention that I don't run X on the guest, but I do run it on
the host.

Also, connecting another mouse to another USB port didn't help at all.

Instructions on how to use VFIO can be found on page 30 of
http://www.linux-kvm.org/wiki/images/b/b4/2012-forum-VFIO.pdf

Comment 5 Josh Boyer 2013-08-23 12:40:12 UTC
We don't support any situation where the proprietary nvidia driver is installed.

Comment 6 Cristian Ciupitu 2013-08-23 16:56:29 UTC
Huh?! The problem is caused by the nouveau driver, not by the nvidia
driver.  Also the host shouldn't be influenced by the guest, otherwise
what's the point of virtualization?

Comment 7 Josh Boyer 2013-09-18 20:45:25 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 19 kernel bugs.

Fedora 19 has now been rebased to 3.11.1-200.fc19.  Please test this kernel update and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you experience different issues, please open a new bug report for those.

Comment 8 Cristian Ciupitu 2013-09-29 13:33:44 UTC
It still happens with the following packages:
 * on the host:
   - kernel-3.11.1-200.fc19.x86_64
   - libvirt-daemon-1.1.2-4.fc19.x86_64
   - qemu-kvm-1.6.0-8.fc19.x86_64
 * on the guest:
   - kernel-3.11.1-200.fc19.x86_64
   - kernel-3.10.7-200.fc19.x86_64 [1]
   - kmod-nvidia-304xx-3.10.7-200.fc19.x86_64-304.88-2.fc19.4.x86_64 [1]


[1]: These packages were used only to make the mouse work again.

Comment 9 Justin M. Forbes 2014-01-03 22:05:39 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 19 kernel bugs.

Fedora 19 has now been rebased to 3.12.6-200.fc19.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you have moved on to Fedora 20, and are still experiencing this issue, please change the version to Fedora 20.

If you experience different issues, please open a new bug report for those.

Comment 10 Justin M. Forbes 2014-03-10 14:41:48 UTC
*********** MASS BUG UPDATE **************

This bug has been in a needinfo state for more than 1 month and is being closed with insufficient data due to inactivity. If this is still an issue with Fedora 19, please feel free to reopen the bug and provide the additional information requested.


Note You need to log in before you can comment on or make changes to this bug.