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

[Xen-users] 3.0.3 - possible bug in pciback and irq allocation?



Hi,

Posted to xen-users in case I'm wrong.. but.. it looks like there's a problem with detection of irq's still around in 3.0.3?

3.0.2 had an irq allocation bug that kept destroying my raid array courtesy of a domU's pci frontend nic getting the same irq as my sata controller (the noirqdebug hack wasn't avoiding it - I was getting the "nobody cared" problem frequently).

I have 2 identical NIC's to pass through, one to each of a pair of domU's. I've reserved the devices using pciback.

But, whilst one domU correctly takes an unused physical-irq, the other is still getting one already used by libata - I've checked the files (included further down for sanity check) to make sure that I'm passing different devices into each domU, so it appears the error is in Xen 3.0.3 checking irq allocation? I could be wrong - I'm not hugely experienced with Xen.

I'm currently running fc6 development tree with these packages:
xen-libs-3.0.3-0.1.rc3
xen-3.0.3-0.1.rc3
kernel-xen-2.6.18-1.2798.fc6

Below are contents of various files to illustrate the problem:

#### dom0 - /proc/interrupts ####
 1:          8        Phys-irq  i8042
 8:          1        Phys-irq  rtc
 9:          0        Phys-irq  acpi
12:        145        Phys-irq  i8042
14:     163663        Phys-irq  ide0
15:      28233        Phys-irq  ide1
16:         29        Phys-irq  ohci_hcd:usb1
17:          0        Phys-irq  ohci_hcd:usb2
18:          2        Phys-irq  ehci_hcd:usb3
19:     326233        Phys-irq  libata
20:    2487550        Phys-irq  peth2
256:     319628     Dynamic-irq  timer0
257:          0     Dynamic-irq  resched0
258:          0     Dynamic-irq  callfunc0
259:       5797     Dynamic-irq  xenbus
260:          0     Dynamic-irq  console
261:      69307     Dynamic-irq  pciback
262:      40339     Dynamic-irq  blkif-backend
263:         22     Dynamic-irq  vif5.0
264:        326     Dynamic-irq  pciback
265:       1675     Dynamic-irq  blkif-backend
266:         21     Dynamic-irq  vif6.0

#### domU - gw - /proc/interrupts ####
21:          9        Phys-irq  eth1
256:      10037     Dynamic-irq  timer0
257:          0     Dynamic-irq  resched0
258:          0     Dynamic-irq  callfunc0
259:        200     Dynamic-irq  xenbus
260:        226     Dynamic-irq  xencons
261:          1     Dynamic-irq  xenfb
262:          0     Dynamic-irq  xenkbd
263:       2596     Dynamic-irq  blkif
264:         83     Dynamic-irq  eth0

#### domU - www - /proc/interrupts - 19 is used by libata in the dom0 ####
19:       3644        Phys-irq  eth1
256:       6384     Dynamic-irq  timer0
257:          0     Dynamic-irq  resched0
258:          0     Dynamic-irq  callfunc0
259:        503     Dynamic-irq  xenbus
260:        235     Dynamic-irq  xencons
261:          1     Dynamic-irq  xenfb
262:          0     Dynamic-irq  xenkbd
263:       3209     Dynamic-irq  blkif
264:         31     Dynamic-irq  eth0

#### /etc/modprobe.conf in dom0 ####
alias eth0 tulip
alias eth1 tulip
alias eth2 r8169
alias scsi_hostadapter sata_sil
alias scsi_hostadapter1 sata_nv
options pciback hide=(0000:01:09.0)(0000:01:0a.0)
install tulip /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install tulip

#### lspci on dom0 ####
00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)
00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)
00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)
00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
01:09.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev 20)
01:0a.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev 20)
01:0b.0 RAID bus controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 02) 02:00.0 VGA compatible controller: ATI Technologies Inc Radeon R300 ND [Radeon 9700 Pro] 02:00.1 Display controller: ATI Technologies Inc Radeon R300 [Radeon 9700 Pro] (Secondary)

And lastly, the files in /etc/xen to load the domU's where the pci cards are passed in:

#### cat /etc/xen/gw ####
# Automatically generated xen config file
name = "gw"
memory = "500"
disk = [ 'phy:/dev/raid/xen_gw,xvda,w', ]
vif = [ 'mac=00:16:3e:11:d9:86, bridge=xenbr0', ]
vnc=1
vncunused=1
uuid = "34363550-43c2-e704-625d-a0193e8ad1c0"
bootloader="/usr/bin/pygrub"
vcpus=1
pci = ['0000:01:09.0']
on_reboot   = 'restart'
on_crash    = 'restart'

#### cat /etc/xen/www ####
# Automatically generated xen config file
name = "www"
memory = "500"
disk = [ 'phy:/dev/raid/xen_www,xvda,w', ]
vif = [ 'mac=00:16:3e:13:d2:86, bridge=xenbr0', ]
vnc=1
vncunused=1
uuid = "ddb45eb4-46ee-1feb-7195-c93f56094796"
bootloader="/usr/bin/pygrub"
vcpus=1
pci=['0000:01:0a.0']
on_reboot   = 'restart'
on_crash    = 'restart'


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.