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