Bug 238448 - dma_map_single fails with ivtv PCI passthrough
Summary: dma_map_single fails with ivtv PCI passthrough
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel-xen
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Eduardo Habkost
QA Contact: Virtualization Bugs
URL:
Whiteboard: bzcl34nup
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-04-30 15:48 UTC by Guil Barros
Modified: 2009-12-14 20:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-05-06 19:33:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Guil Barros 2007-04-30 15:48:45 UTC
Description of problem:
While using pci passthrough from a rhel5 host, my fc6 guest has issues loading
the ivtv module.

Version-Release number of selected component (if applicable):
ivtv-0.10.1
kernel-xen-2.6.18-1.2798.fc6


How reproducible:
every time

Steps to Reproduce:
[root@slurp ivtv-0.10.1]# depmod -a
[root@slurp ivtv-0.10.1]# modprobe ivtv
PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
Fatal DMA error! Please use 'swiotlb=force'
------------[ cut here ]------------
kernel BUG at arch/i386/kernel/pci-dma-xen.c:343!
invalid opcode: 0000 [#1]
SMP 
last sysfs file: /class/firmware/0000:00:00.0/loading
Modules linked in: msp3400 saa7115 ivtv(U) cx2341x autofs4 hidp l2cap bluetooth
sunrpc xennet ipv6 ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack
nfnetlink xt_tcpudp iptable_filter ip_tables x_tables dm_multipath parport_pc lp
parport bt878 snd_bt87x snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer tuner snd pcspkr
tvaudio bttv video_buf ir_common compat_ioctl32 i2c_algo_bit btcx_risc tveeprom
i2c_core soundcore videodev v4l1_compat v4l2_common snd_page_alloc dm_snapshot
dm_zero dm_mirror dm_mod xenblk ext3 jbd ehci_hcd ohci_hcd uhci_hcd
CPU:    0
EIP:    0061:[<c040a198>]    Not tainted VLI
EFLAGS: 00010292   (2.6.18-1.2798.fc6xen #1) 
EIP is at dma_map_single+0xfc/0x15c
eax: 0000002f   ebx: 00000000   ecx: c066c030   edx: f5416000
esi: 48e60000   edi: 00000000   ebp: 0000a230   esp: cbc81cc4
ds: 007b   es: 007b   ss: 0069
Process modprobe (pid: 2836, ti=cbc81000 task=c0cc6ed0 task.ti=cbc81000)
Stack: c0621406 00000001 e05477dc c0d817c0 00000000 00008100 00000000 c0c30848 
       e0547760 ca230000 00000002 cace0084 ee7a3bbb 00000002 00000001 cace0000 
       cace0164 cace0084 c041ce47 ee7b05aa 00000000 cace0000 00000000 cbc81d3c 
Call Trace:
 [<ee7a3bbb>] ivtv_stream_alloc+0x199/0x242 [ivtv]
 [<ee7a1cbd>] ivtv_streams_setup+0x368/0x3c3 [ivtv]
 [<ee79eab0>] ivtv_probe+0x100c/0x134e [ivtv]
 [<c04e8577>] pci_device_probe+0x36/0x57
 [<c0541771>] driver_probe_device+0x45/0x9a
 [<c054189c>] __driver_attach+0x65/0x8f
 [<c05411f6>] bus_for_each_dev+0x37/0x59
 [<c05416d2>] driver_attach+0x16/0x18
 [<c0540eee>] bus_add_driver+0x6f/0x10d
 [<c04e86a9>] __pci_register_driver+0x49/0x63
 [<ee79d775>] module_start+0xb5/0xde [ivtv]
 [<c043667b>] sys_init_module+0x17de/0x1977
 [<c0404ea7>] syscall_call+0x7/0xb
DWARF2 unwinder stuck at syscall_call+0x7/0xb

Leftover inexact backtrace:

 =======================
Code: ce 03 44 24 14 09 df 3d 00 10 00 00 76 25 c1 ed 0c a1 20 5e 7b c0 0f a3 28
19 c0 85 c0 75 14 c7 04 24 06 14 62 c0 e8 90 2c 01 00 <0f> 0b 57 01 e7 13 62 c0
83 7c 24 1c 00 74 15 8b 54 24 1c 8b 82 
EIP: [<c040a198>] dma_map_single+0xfc/0x15c SS:ESP 0069:cbc81cc4
 Segmentation fault
[root@slurp ivtv-0.10.1]# 
Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: ------------[ cut here ]------------

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: kernel BUG at arch/i386/kernel/pci-dma-xen.c:343!

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: invalid opcode: 0000 [#1]

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: SMP 

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: CPU:    0

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: EIP is at dma_map_single+0xfc/0x15c

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: eax: 0000002f   ebx: 00000000   ecx: c066c030   edx: f5416000

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: esi: 48e60000   edi: 00000000   ebp: 0000a230   esp: cbc81cc4

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: ds: 007b   es: 007b   ss: 0069

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: Process modprobe (pid: 2836, ti=cbc81000 task=c0cc6ed0
task.ti=cbc81000)

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: Stack: c0621406 00000001 e05477dc c0d817c0 00000000 00008100
00000000 c0c30848 

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:        e0547760 ca230000 00000002 cace0084 ee7a3bbb 00000002
00000001 cace0000 

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:        cace0164 cace0084 c041ce47 ee7b05aa 00000000 cace0000
00000000 cbc81d3c 

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: Call Trace:

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<ee7a3bbb>] ivtv_stream_alloc+0x199/0x242 [ivtv]

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<ee7a1cbd>] ivtv_streams_setup+0x368/0x3c3 [ivtv]

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<ee79eab0>] ivtv_probe+0x100c/0x134e [ivtv]

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c04e8577>] pci_device_probe+0x36/0x57

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c0541771>] driver_probe_device+0x45/0x9a

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c054189c>] __driver_attach+0x65/0x8f

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c05411f6>] bus_for_each_dev+0x37/0x59

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c05416d2>] driver_attach+0x16/0x18

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c0540eee>] bus_add_driver+0x6f/0x10d

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c04e86a9>] __pci_register_driver+0x49/0x63

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<ee79d775>] module_start+0xb5/0xde [ivtv]

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c043667b>] sys_init_module+0x17de/0x1977

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  [<c0404ea7>] syscall_call+0x7/0xb

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: DWARF2 unwinder stuck at syscall_call+0x7/0xb

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: Leftover inexact backtrace:

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel:  =======================

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: Code: ce 03 44 24 14 09 df 3d 00 10 00 00 76 25 c1 ed 0c a1 20 5e
7b c0 0f a3 28 19 c0 85 c0 75 14 c7 04 24 06 14 62 c0 e8 90 2c 01 00 <0f> 0b 57
01 e7 13 62 c0 83 7c 24 1c 00 74 15 8b 54 24 1c 8b 82 

Message from syslogd@slurp at Sun Apr 29 23:26:58 2007 ...
slurp kernel: EIP: [<c040a198>] dma_map_single+0xfc/0x15c SS:ESP 0069:cbc81cc4

[root@slurp ivtv-0.10.1]# 
[root@slurp ivtv-0.10.1]# 
[root@slurp ivtv-0.10.1]# 
[root@slurp ivtv-0.10.1]# [root@sybil ~]# tail /var/log/messages
Apr 29 23:07:52 sybil kernel: PCI: Enabling device 0000:02:04.0 (0000 -> 0002)
Apr 29 23:07:52 sybil kernel: ACPI: PCI Interrupt 0000:02:04.0[A] -> GSI 17
(level, low) -> IRQ 17
Apr 29 23:07:53 sybil kernel: PCI: Enabling device 0000:02:04.1 (0000 -> 0002)
Apr 29 23:07:53 sybil kernel: ACPI: PCI Interrupt 0000:02:04.1[A] -> GSI 17
(level, low) -> IRQ 17
Apr 29 23:08:00 sybil kernel: ADDRCONF(NETDEV_CHANGE): vif9.0: link becomes ready
Apr 29 23:08:01 sybil kernel: xenbr0: port 4(vif9.0) entering learning state
Apr 29 23:08:01 sybil kernel: xenbr0: topology change detected, propagating
Apr 29 23:08:01 sybil kernel: xenbr0: port 4(vif9.0) entering forwarding state
Apr 29 23:27:00 sybil kernel: PCI: Enabling device 0000:02:03.0 (0000 -> 0002)
Apr 29 23:27:00 sybil kernel: ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 16
(level, low) -> IRQ 16

Comment 1 Guil Barros 2007-04-30 15:50:48 UTC
have also tried with:
kernel-xen-2.6.20-1.2944.fc6
and get the same problem.

Comment 2 Red Hat Bugzilla 2007-07-25 01:40:53 UTC
change QA contact

Comment 3 Eduardo Habkost 2007-10-10 17:29:57 UTC
Sorry for the long delay for replying this.

Have you tried using 'swiotlb=force' on the guest kernel command-line?

Comment 4 Bug Zapper 2008-04-04 07:08:38 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 5 Bug Zapper 2008-05-06 19:33:02 UTC
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


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