DMA errors passing onboard USB controller to Guest domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've got a P4 3Ghz doing 3 paravirtualised guests running various software, however it seems that if I use pciback to pass the onboard USB controller to a guest, after a while of use, the host starts getting DMA read errors on the local hard disk.

The error I get is:
hda: DMA interrupt recovery
hda: lost interrupt
hda: dma_timer_expiry: dma status == 0x24

When this happens, all the xen guest domains and the host seem to hang. Only a reboot via the reset button can bring the system back...

When I am not using the xen guest to stream media over the USB port (it's a USB HDTV tuner), everything works fine.

I pass things to pciback using the following in /etc/rc.d/rc.local:
for SLOT in "0000:00:1d.0" "0000:00:1d.1" "0000:00:1d.2" "0000:00:1d. 3" "0000:00:1d.7" "0000:03:03.0" "0000:03:04.0" "0000:03:01.0" "0000:03:01.1" "0000:03:01.2"; do
  # Add a new slot to the PCI Backend's list
  echo -n $SLOT > /sys/bus/pci/drivers/pciback/new_slot
  # Now that the backend is watching for the slot, bind to it
  echo -n $SLOT > /sys/bus/pci/drivers/pciback/bind
done

# lspci
00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/ Host-Hub Interface (rev 02) 00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02) 00:03.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to CSA Bridge (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV11DDR [GeForce2 MX 100 DDR/200 DDR] (rev b2) 02:01.0 Ethernet controller: Intel Corporation 82547EI Gigabit Ethernet Controller 03:00.0 SCSI storage controller: Advanced System Products, Inc ABP940- U / ABP960-U (rev 03) 03:01.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50) 03:01.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
03:01.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
03:03.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06) 03:04.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ ISDN interface

# lspci -n
00:00.0 0600: 8086:2570 (rev 02)
00:01.0 0604: 8086:2571 (rev 02)
00:03.0 0604: 8086:2573 (rev 02)
00:1d.0 0c03: 8086:24d2 (rev 02)
00:1d.1 0c03: 8086:24d4 (rev 02)
00:1d.2 0c03: 8086:24d7 (rev 02)
00:1d.3 0c03: 8086:24de (rev 02)
00:1d.7 0c03: 8086:24dd (rev 02)
00:1e.0 0604: 8086:244e (rev c2)
00:1f.0 0601: 8086:24d0 (rev 02)
00:1f.1 0101: 8086:24db (rev 02)
00:1f.3 0c05: 8086:24d3 (rev 02)
01:00.0 0300: 10de:0111 (rev b2)
02:01.0 0200: 8086:1019
03:00.0 0100: 10cd:1300 (rev 03)
03:01.0 0c03: 1106:3038 (rev 50)
03:01.1 0c03: 1106:3038 (rev 50)
03:01.2 0c03: 1106:3104 (rev 51)
03:03.0 0401: 1274:1371 (rev 06)
03:04.0 0280: e159:0001

# cat /etc/xen/xend-pci-permissive.sxp
(unconstrained_dev_ids
( 'e159:0001' ### TDM400P for domain: Asterisk '1274:1371' ### PCI Sound card for domain: Scanner '1106:3038' '1106:3038' '1106:3104' ### USB2 card for domain: Scanner '8086:24d2' '8086:24d4' '8086:24d7' '8086:24de' '8086:24dd' ### Onboard USB controllers for domain: dvb
     )
)

# cat /etc/xen/dvb
# Automatically generated xen config file
name = "dvb"
memory = "256"
disk = [ 'tap:aio:/home/virtuals/dvb/dvb.root.img,xvda,w', ]
vif = [ 'mac=00:16:3e:6c:d3:4b, bridge=xenbr0', ]
nographic=1
uuid = "d3d2eb8a-a2b0-e67c-d65a-52b768de25a6"
bootloader="/usr/bin/pygrub"
vcpus=2
pci = [ '0,1d,0' , '0,1d,1' , '0,01d,2' , '0,1d,3' , '0,1d,7' ]
on_reboot   = 'restart'
on_crash    = 'restart'

Anybody have any ideas on this?

--
Steven Haigh

Email: netwiz@xxxxxxxxx
Web: http://www.crc.id.au
Phone: (03) 9017 0597 - 0412 935 897



--
Fedora-xen mailing list
Fedora-xen@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-xen

[Index of Archives]     [Fedora General]     [Fedora Music]     [Linux Kernel]     [Fedora Desktop]     [Fedora Directory]     [PAM]     [Big List of Linux Books]     [Gimp]     [Yosemite News]

  Powered by Linux