From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: linux-3.9-rc0 regression from 3.8 SATA controller not detected under xen Date: Wed, 27 Feb 2013 14:28:10 -0500 Message-ID: <20130227192810.GA30169@phenom.dumpdata.com> References: <312569942.20130225231830@eikelenboom.it> <512C836102000078000C0FD7@nat28.tlf.novell.com> <38125304.20130227115733@eikelenboom.it> <512DF6C702000078000C1708@nat28.tlf.novell.com> <1769529756.20130227124648@eikelenboom.it> <512E101802000078000C17FE@nat28.tlf.novell.com> <1336583579.20130227185059@eikelenboom.it> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1336583579.20130227185059@eikelenboom.it> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Sander Eikelenboom Cc: Jan Beulich , xen-devel List-Id: xen-devel@lists.xenproject.org On Wed, Feb 27, 2013 at 06:50:59PM +0100, Sander Eikelenboom wrote: > > Wednesday, February 27, 2013, 1:54:31 PM, you wrote: > > >>>> On 27.02.13 at 12:46, Sander Eikelenboom wrote: > >> [ 89.338827] ahci: probe of 0000:00:11.0 failed with error -22 > > > Which is -EINVAL. With nothing else printed, I'm afraid you need to > > find the origin of this return value by instrumenting the involved > > call tree. > > Just wondering, is multiple msi's per device actually supported by xen ? That is very good question. I know we support MSI-X b/c 1GB or 10GB NICs use them and they work great with Xen. BTW, this is merge: ommit 5800700f66678ea5c85e7d62b138416070bf7f60 Merge: 266d7ad af8d102 Author: Linus Torvalds Date: Tue Feb 19 19:07:27 2013 -0800 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86/apic changes from Ingo Molnar: "Main changes: - Multiple MSI support added to the APIC, PCI and AHCI code - acked by all relevant maintainers, by Alexander Gordeev. The advantage is that multiple AHCI ports can have multiple MSI irqs assigned, and can thus spread to multiple CPUs. [ Drivers can make use of this new facility via the pci_enable_msi_block_auto() method ] With MSI per device, the hypercall that ends up happening is: PHYSDEVOP_map_pirq with: map_irq.domid = domid; map_irq.type = MAP_PIRQ_TYPE_MSI_SEG; map_irq.index = -1; map_irq.pirq = -1; map_irq.bus = dev->bus->number | (pci_domain_nr(dev->bus) << 16); map_irq.devfn = dev->devfn; Which would imply that we are doing this call multiple times? (This is xen_initdom_setup_msi_irqs). It looks like pci_enable_msi_block_auto is the multiple MSI one and it should perculate down to xen_initdom_setup_msi_irqs. Granted the xen_init.. does not do anything with the 'nvec' call. So could I ask you try out your hunch by doing three things: 1). Instrument xen_initdom_setup_msi_irqs to see if the nvec has anything but 1 and in its loop instrument to see if it has more than on MSI attribute? 2). The ahci driver has ahci_init_interrupts which only does the multiple MSI thing if AHCI_HFLAG_NO_MSI is not set. If you edit drivers/ata/ahci ahci_port_info for the SB600 (or 700?) to have AHCI_HFLAG_NO_MSI flag (you probably want to do this seperatly from 1). 3). Checkout before merge 5800700f66678ea5c85e7d62b138416070bf7f60 and try 266d7ad7f4fe2f44b91561f5b812115c1b3018ab? > > -- > Sander > > > Jan > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >