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

Re: [Xen-devel] pv_ops dom0 kernel failure with ata_piix / irq problems



On Sat, Jan 24, 2009 at 04:09:30PM +0200, Pasi Kärkkäinen wrote:
> On Thu, Jan 22, 2009 at 12:23:26PM -0800, Jeremy Fitzhardinge wrote:
> > Pasi Kärkkäinen wrote:
> > >On Fri, Jan 09, 2009 at 09:01:59PM +0000, Andrew Lyon wrote:
> > >  
> > >>>I just upgraded to newly released Xen 3.3.1 hypervisor but unfortunately 
> > >>>it
> > >>>didn't seem to help with my problem.. I still get the exact same errors 
> > >>>with
> > >>>ata_piix module:
> > >>>
> > >>>http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-4-xen331.txt
> > >>>
> > >>>xen_allocate_pirq: returning irq 30 for gsi 18
> > >>>xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 
> > >>>triggering 0 polarity 1
> > >>>ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
> > >>>xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
> > >>>xen: disable pci device 0000:00:1f.1
> > >>>ata_piix: probe of 0000:00:1f.1 failed with error -38
> > >>>      
> > >>I don't think the problem is ata_piix, I've tried the pv_ops dom0
> > >>kernel on a Dell Optiplex 755 and unbranded system with gigabyte
> > >>motherboard, on both systems none of the storage devices worked,
> > >>including ahci, ata_piix, I even tried putting the root filesystem on
> > >>a usb storage device but that too is broken, I think interrupt routing
> > >>is not working at all perhaps?
> > >>
> > >>I'm going to do more testing this weekend...
> > >>
> > >>    
> > >
> > >Hello.
> > >
> > >I just did some more testing too..
> > >
> > >I upgraded to the latest patches for Linux 2.6.29-rc1-tip
> > >
> > >log of xen+kernel from serial console:
> > >http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-5-xen331-linux-2.6.29-rc1.txt
> > >
> > >(XEN) Command line: dom0_mem=1024M loglvl=all guest_loglvl=all 
> > >com1=19200,8n1 console=com1
> > >Kernel command line: ro root=/dev/vg00/lv01 console=hvc0 earlyprintk=xen 
> > >pci=nomsi
> > >
> > >And the failing part of the log is here:
> > >
> > >xen_allocate_pirq: returning irq 30 for gsi 18
> > >xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 
> > >triggering 0 polarity 1
> > >ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
> > >xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
> > >xen: disable pci device 0000:00:1f.1
> > >Pid: 1, comm: swapper Not tainted 2.6.29-rc1-tip #3
> > >  
> > 
> > That means that the ata-piix driver decided it was unhappy for some 
> > reason, and decided to fali with ENODEV.  It would be very interesting 
> > to know what part of the device probe failed.  From the Xen perspective, 
> > it looks like everything went OK.
> > 
> 
> I just did
> 
> #define ATA_DEBUG
> #define ATA_VERBOSE_DEBUG
> #define ATA_IRQ_TRAP
> 
> in include/linux/libata.h
> 
> and recompiling now.. let's see if that helps.
> 

Here we go:
http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-6-xen331-linux-2.6.29-rc1-atadebug.txt

piix_init: pci_register_driver
xen_allocate_pirq: returning irq 30 for gsi 18
xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 triggering 0 
polarity 1
ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
ata_host_alloc: ENTER
ata_port_alloc: ENTER
ata_port_alloc: ENTER
__ata_port_freeze: ata4294967295 port frozen
__ata_port_freeze: ata4294967295 port frozen
xen: disable pci device 0000:00:1f.1
Pid: 1, comm: swapper Not tainted 2.6.29-rc1-tip #4
Call Trace:
 [<c06dde84>] ? printk+0xf/0x13
 [<c04079bc>] xen_pci_pirq_disable+0x18/0x1c
 [<c0657468>] pcibios_disable_device+0x18/0x1a
 [<c0543303>] do_pci_disable_device+0x4b/0x50
 [<c054345d>] pci_disable_device+0x3f/0x4b
 [<c05437c1>] pcim_release+0x6f/0x74
 [<c05c18ce>] release_nodes+0x14a/0x165
 [<c05c19a4>] devres_release_all+0x25/0x2a
 [<c05bfeb4>] driver_probe_device+0xb7/0x12f
 [<c05bff78>] __driver_attach+0x4c/0x6b
 [<c05bf8da>] bus_for_each_dev+0x3b/0x63
 [<c05bfd42>] driver_attach+0x14/0x16
 [<c05bff2c>] ? __driver_attach+0x0/0x6b
 [<c05bf34d>] bus_add_driver+0x9d/0x1ba
 [<c05c00ff>] driver_register+0x81/0xe1
 [<c04e107e>] ? sysfs_add_file+0xe/0x13
 [<c0545bff>] __pci_register_driver+0x35/0x62
 [<c08a155e>] piix_init+0x24/0x4e
 [<c040304a>] do_one_initcall+0x4a/0x122
 [<c08a153a>] ? piix_init+0x0/0x4e
 [<c046ffd9>] ? register_irq_proc+0x7f/0x9b
 [<c0470048>] ? init_irq_proc+0x53/0x60
 [<c0879319>] kernel_init+0x104/0x155
 [<c0879215>] ? kernel_init+0x0/0x155
 [<c0409ed3>] kernel_thread_helper+0x7/0x10
ata_piix: probe of 0000:00:1f.1 failed with error -38
piix_init: done


I guess I have to start reading the source to figure out why the port is
'frozen'.. 

-- Pasi

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


 


Rackspace

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