WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

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

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] 3.0.3 - possible bug in pciback and irq allocation?
From: Hilton Day <xlot@xxxxxxxxxxxxxxxxx>
Date: Thu, 19 Oct 2006 14:55:12 +1000
Delivery-date: Wed, 18 Oct 2006 21:56:40 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.7 (Windows/20060909)
Hi,

Posted to xen-users in case I'm wrong.. but.. it looks like a problem with detection of irq's is still around in 3.0.3? A pci nic passed through is getting allocated the same physical irq as used by the sata controller in dom0.

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 getting one already used by libata - I've checked the files (included further down for sanity check) to make sure that I'm passing the 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

I had this problem with 3.0.2 also, and the noirqdebug hack wasn't getting around it for me (nor were acpi=off, noapic etc.)

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

<Prev in Thread] Current Thread [Next in Thread>