All of lore.kernel.org
 help / color / mirror / Atom feed
* SR-IOV problems - HVM cannot access network
@ 2011-03-01 19:31 David White
  2011-03-01 20:50 ` Rose, Gregory V
  0 siblings, 1 reply; 8+ messages in thread
From: David White @ 2011-03-01 19:31 UTC (permalink / raw)
  To: xen-devel

Hi all,

I am having problems getting SR-IOV functions to work in my HVMs.  My 
hardware has VT-d support, and pci passthrough works fine for physical 
functions.  In a nutshell here is the current state:

Dom0 :  NICs are 2-port 82576.  I can get full network access using 
either PF or VF interfaces.
HVM : PCI passthrough of physical functions work -- full network access
HVM : PCI passthrough of virtual functions fail -- can send pkts but 
cannot receive.

The best lead I have right now is evident from the qemu logs.

when PF (04:00.0) is assigned to HVM:

pt_msix_init: get MSI-X table bar base fafbc000
pt_msix_init: table_off = 0, total_entries = 10
pt_msix_init: errno = 2
pt_msix_init: mapping physical MSI-X table to 7f23a03d5000
pt_msi_setup: msi mapped with pirq 37
pci_intx: intx=1
register_real_device: Real physical device 04:00.0 registered successfuly!
IRQ type = MSI-INTx

when VF (04:10.2) is assigned to HVM:

pt_msix_init: get MSI-X table bar base fae24000
pt_msix_init: table_off = 0, total_entries = 3
pt_msix_init: errno = 2
pt_msix_init: mapping physical MSI-X table to 7fc918846000
register_real_device: Real physical device 04:10.2 registered successfuly!
IRQ type = INTx

VFs don't seem to be using MSI/MSI-X interupts.  Does this indicate a 
problem?

Can anyone give some insight on this?
thanks  - david

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: SR-IOV problems - HVM cannot access network
  2011-03-01 19:31 SR-IOV problems - HVM cannot access network David White
@ 2011-03-01 20:50 ` Rose, Gregory V
  2011-03-01 22:04   ` David White
  0 siblings, 1 reply; 8+ messages in thread
From: Rose, Gregory V @ 2011-03-01 20:50 UTC (permalink / raw)
  To: David White, xen-devel

> -----Original Message-----
> From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-
> bounces@lists.xensource.com] On Behalf Of David White
> Sent: Tuesday, March 01, 2011 11:32 AM
> To: xen-devel@lists.xensource.com
> Subject: [Xen-devel] SR-IOV problems - HVM cannot access network
> 
> Hi all,
> 
> I am having problems getting SR-IOV functions to work in my HVMs.  My
> hardware has VT-d support, and pci passthrough works fine for physical
> functions.  In a nutshell here is the current state:
> 
> Dom0 :  NICs are 2-port 82576.  I can get full network access using
> either PF or VF interfaces.
> HVM : PCI passthrough of physical functions work -- full network access
> HVM : PCI passthrough of virtual functions fail -- can send pkts but
> cannot receive.
> 
> The best lead I have right now is evident from the qemu logs.
> 
> when PF (04:00.0) is assigned to HVM:
> 
> pt_msix_init: get MSI-X table bar base fafbc000
> pt_msix_init: table_off = 0, total_entries = 10
> pt_msix_init: errno = 2
> pt_msix_init: mapping physical MSI-X table to 7f23a03d5000
> pt_msi_setup: msi mapped with pirq 37
> pci_intx: intx=1
> register_real_device: Real physical device 04:00.0 registered successfuly!
> IRQ type = MSI-INTx
> 
> when VF (04:10.2) is assigned to HVM:
> 
> pt_msix_init: get MSI-X table bar base fae24000
> pt_msix_init: table_off = 0, total_entries = 3
> pt_msix_init: errno = 2
> pt_msix_init: mapping physical MSI-X table to 7fc918846000
> register_real_device: Real physical device 04:10.2 registered successfuly!
> IRQ type = INTx
> 
> VFs don't seem to be using MSI/MSI-X interupts.  Does this indicate a
> problem?

Yes, this is absolutely a problem.  82576 virtual functions require MSI-X interrupt support to function properly.  You didn't mention what your guest OS is but the guest OS must support MSI-X interrupts.  Even if it does have MSI-X support the attempt to allocate the vectors may fail for some reason.  If that happens then the VF will not function correctly.

- Greg Rose
LAN Access Division
Intel Corp.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: SR-IOV problems - HVM cannot access network
  2011-03-01 20:50 ` Rose, Gregory V
@ 2011-03-01 22:04   ` David White
  2011-03-01 22:41     ` Rose, Gregory V
  0 siblings, 1 reply; 8+ messages in thread
From: David White @ 2011-03-01 22:04 UTC (permalink / raw)
  To: Rose, Gregory V; +Cc: xen-devel


On 03/01/2011 12:50 PM, Rose, Gregory V wrote:
>> -----Original Message-----
>> From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-
>> bounces@lists.xensource.com] On Behalf Of David White
>> Sent: Tuesday, March 01, 2011 11:32 AM
>> To: xen-devel@lists.xensource.com
>> Subject: [Xen-devel] SR-IOV problems - HVM cannot access network
>>
>> Hi all,
>>
>> I am having problems getting SR-IOV functions to work in my HVMs.  My
>> hardware has VT-d support, and pci passthrough works fine for physical
>> functions.  In a nutshell here is the current state:
>>
>> Dom0 :  NICs are 2-port 82576.  I can get full network access using
>> either PF or VF interfaces.
>> HVM : PCI passthrough of physical functions work -- full network access
>> HVM : PCI passthrough of virtual functions fail -- can send pkts but
>> cannot receive.
>>
>> The best lead I have right now is evident from the qemu logs.
>>
>> when PF (04:00.0) is assigned to HVM:
>>
>> pt_msix_init: get MSI-X table bar base fafbc000
>> pt_msix_init: table_off = 0, total_entries = 10
>> pt_msix_init: errno = 2
>> pt_msix_init: mapping physical MSI-X table to 7f23a03d5000
>> pt_msi_setup: msi mapped with pirq 37
>> pci_intx: intx=1
>> register_real_device: Real physical device 04:00.0 registered successfuly!
>> IRQ type = MSI-INTx
>>
>> when VF (04:10.2) is assigned to HVM:
>>
>> pt_msix_init: get MSI-X table bar base fae24000
>> pt_msix_init: table_off = 0, total_entries = 3
>> pt_msix_init: errno = 2
>> pt_msix_init: mapping physical MSI-X table to 7fc918846000
>> register_real_device: Real physical device 04:10.2 registered successfuly!
>> IRQ type = INTx
>>
>> VFs don't seem to be using MSI/MSI-X interupts.  Does this indicate a
>> problem?
> Yes, this is absolutely a problem.  82576 virtual functions require MSI-X interrupt support to function properly.  You didn't mention what your guest OS is but the guest OS must support MSI-X interrupts.  Even if it does have MSI-X support the attempt to allocate the vectors may fail for some reason.  If that happens then the VF will not function correctly.
>
> - Greg Rose
> LAN Access Division
> Intel Corp.
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

The guest (Ubuntu Maverick 64-bit) supports MSI-X, as is indicated by the fact
that PF passthrough works fine (am I interpreting the above output correctly,
for the PF/HVM case?).

The only thing different between the two above cases is that the first one is
assigned a PF, the second on a VF.  Is there something in the dom0 igb/igbvf
drivers that affect the MSI-X capabilities in the HVM?  igb/igbvf drivers on
dom0 are from Intel site:

root@dom0:~# modinfo igb | grep ^version:
version:        2.4.12
root@dom0:~# modinfo igbvf | grep ^version:
version:        1.0.7

The guest driver does not seem to be the source of this difference,
since these qemu logs are logged before HVM grub menu appears (and hence
before guest kernel is loaded)

Why would a physical function invoke MSI-X but not a virtual function?
Is it something that pciback is doing?

When I bind a PF to pciback, the xen-pciback driver shows:
[ 1390.090693] pciback 0000:04:00.1: seizing device
[ 1390.095417] xen_allocate_pirq: returning irq 17 for gsi 17
[ 1390.101021] Already setup the GSI :17
[ 1390.104717] pciback 0000:04:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[ 1390.111807] pciback 0000:04:00.1: PCI INT B disabled

but when I bind a VF to pciback, the driver shows:
[ 1439.411763] pciback 0000:04:10.0: seizing device
[ 1439.416462] pciback 0000:04:10.0: enabling device (0000 -> 0002)

(note no INT or GSI messages)

could pciback be the source of the HVM INTx problem?

-David

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: SR-IOV problems - HVM cannot access network
  2011-03-01 22:04   ` David White
@ 2011-03-01 22:41     ` Rose, Gregory V
  2011-03-02  2:41       ` David White
  0 siblings, 1 reply; 8+ messages in thread
From: Rose, Gregory V @ 2011-03-01 22:41 UTC (permalink / raw)
  To: David White; +Cc: xen-devel

> -----Original Message-----
> From: David White [mailto:dwhite@speakeasy.net]
> Sent: Tuesday, March 01, 2011 2:05 PM
> To: Rose, Gregory V
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] SR-IOV problems - HVM cannot access network
> 
 [snip}

> 
> The guest driver does not seem to be the source of this difference,
> since these qemu logs are logged before HVM grub menu appears (and hence
> before guest kernel is loaded)
> 
> Why would a physical function invoke MSI-X but not a virtual function?

A lot of reasons actually :-).  SR-IOV is a complete platform solution and feature.  It requires full support from all PCIe devices from the root complex to the endpoint device as well as proper BIOS programming and OS support.

I don't know that Ubuntu actually supports SR-IOV and I don't know which platform you're using and whether it supports SR-IOV.

> Is it something that pciback is doing?
> 
> When I bind a PF to pciback, the xen-pciback driver shows:
> [ 1390.090693] pciback 0000:04:00.1: seizing device
> [ 1390.095417] xen_allocate_pirq: returning irq 17 for gsi 17
> [ 1390.101021] Already setup the GSI :17
> [ 1390.104717] pciback 0000:04:00.1: PCI INT B -> GSI 17 (level, low) ->
> IRQ 17
> [ 1390.111807] pciback 0000:04:00.1: PCI INT B disabled
> 
> but when I bind a VF to pciback, the driver shows:
> [ 1439.411763] pciback 0000:04:10.0: seizing device
> [ 1439.416462] pciback 0000:04:10.0: enabling device (0000 -> 0002)
> 
> (note no INT or GSI messages)
> 
> could pciback be the source of the HVM INTx problem?

Well it's certainly possible but another good possibility is that the machine doesn't actually implement the SR-IOV feature correctly in the BIOS.  What machine are you using?  Is there a BIOS setting to enable SR-IOV and if so are you sure you've enabled it?

Also, would it be possible to get a register dump of the VF device from both the Dom0 host domain and the DomU guest domain using the Intel ethregs utility?  You can get that from source forge.

- Greg

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: SR-IOV problems - HVM cannot access network
  2011-03-01 22:41     ` Rose, Gregory V
@ 2011-03-02  2:41       ` David White
  2011-03-02 11:06         ` Stefano Stabellini
  0 siblings, 1 reply; 8+ messages in thread
From: David White @ 2011-03-02  2:41 UTC (permalink / raw)
  To: Rose, Gregory V; +Cc: xen-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3140 bytes --]


On 03/01/2011 02:41 PM, Rose, Gregory V wrote:
>> -----Original Message-----
>> From: David White [mailto:dwhite@speakeasy.net]
>> Sent: Tuesday, March 01, 2011 2:05 PM
>> To: Rose, Gregory V
>> Cc:xen-devel@lists.xensource.com
>> Subject: Re: [Xen-devel] SR-IOV problems - HVM cannot access network
>>
>   [snip}
>
>> The guest driver does not seem to be the source of this difference,
>> since these qemu logs are logged before HVM grub menu appears (and hence
>> before guest kernel is loaded)
>>
>> Why would a physical function invoke MSI-X but not a virtual function?
> A lot of reasons actually :-).  SR-IOV is a complete platform solution and
> feature.  It requires full support from all PCIe devices from the root complex
> to the endpoint device as well as proper BIOS programming and OS support.
>
> I don't know that Ubuntu actually supports SR-IOV and I don't know which
> platform you're using and whether it supports SR-IOV.
>
>> Is it something that pciback is doing?
>>
>> When I bind a PF to pciback, the xen-pciback driver shows:
>> [ 1390.090693] pciback 0000:04:00.1: seizing device
>> [ 1390.095417] xen_allocate_pirq: returning irq 17 for gsi 17
>> [ 1390.101021] Already setup the GSI :17
>> [ 1390.104717] pciback 0000:04:00.1: PCI INT B ->  GSI 17 (level, low) ->
>> IRQ 17
>> [ 1390.111807] pciback 0000:04:00.1: PCI INT B disabled
>>
>> but when I bind a VF to pciback, the driver shows:
>> [ 1439.411763] pciback 0000:04:10.0: seizing device
>> [ 1439.416462] pciback 0000:04:10.0: enabling device (0000 ->  0002)
>>
>> (note no INT or GSI messages)
>>
>> could pciback be the source of the HVM INTx problem?
> Well it's certainly possible but another good possibility is that the machine
> doesn't actually implement the SR-IOV feature correctly in the BIOS.  What
> machine are you using?  Is there a BIOS setting to enable SR-IOV and if so are
> you sure you've enabled it?
>
> Also, would it be possible to get a register dump of the VF device from both
> the Dom0 host domain and the DomU guest domain using the Intel ethregs
> utility?  You can get that from source forge.
>
> - Greg
>

Thanks for your help so far.

Ubuntu Maverick is only running in the guest HVM domains.

I have two boards I am testing with, both with Intel 5520 chipset.  I'm using
two 82576 nics from two different vendors, one attached to either board.  Both
systems have AMI bios.  One system (call it systemA) has bios options for both
VT-d and SR-IOV, and both are enabled, as is I/OAT.  The other system (systemB)
has bios options for VT-d and "Coherency support" (which seemed to help me
enumerate the VFs), and both are enabled (no mention of I/OAT).

SystemA runs Debian Squeeze and the xen kernel, vmm and tools from that distro.
SystemB runs Fedora14 with the well-known "jeremy" kernel
(http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=xen/stable-2.6.32.x),
and xen-4.0.1 hypervisor built from source (unaltered).

Both systems are experiencing the same behavior.

attached are dom0 and hvm ethregs output for the VF using '-o -m'
flags.  This one was taken from the Debian host ("systemA")

-dave

[-- Attachment #2: Type: TEXT/PLAIN, Size: 4009 bytes --]

01:10.0 (8086:10ca)
Intel Corporation 82576 Virtual Function
	Offset    Name                  Value
	~~~~~~    ~~~~                  ~~~~~
	(0x00000) CTRL                  00000000
	(0x00008) STATUS                000c8743
	(0x00800) VMBMEM0               a0020003
	(0x00c40) V2PMAILBOX0           00000000
	(0x01048) FRTIMER               b5c5c2df
	(0x01520) EICS                  00000005
	(0x01524) EIMS                  00000000
	(0x01528) EIMC                  00000000
	(0x0152c) EIAC                  00000007
	(0x01530) EIAM                  00000007
name: EITR  len: 2
	(0x01680) EITR[0]               00e007a0
	(0x01684) EITR[1]               000007a0
	(0x01700) IVAR                  0a0a8081
	(0x01740) IVAR_MISC             00000082
	(0x02800) RDBAL[0]              1df7c000
	(0x02804) RDBAH[0]              00000000
	(0x02808) RDLEN[0]              00004000
	(0x0280c) SRRCTL[0]             f20b0002
	(0x0290c) SRRCTL[1]      80000400
	(0x02810) RDH[0]                00000012
	(0x02814) DCA_RXCTL[0]          0000a200
	(0x02914) DCA_RXCTL[1]   0000a200
	(0x02818) RDT[0]                000003fe
	(0x02828) RXDCTL[0]             02010810
	(0x02928) RXDCTL[1]      00010000
	(0x02830) RQDPC[0]              00000000
	(0x03800) TDBAL[0]              1dbc8000
	(0x03804) TDBAH[0]              00000000
	(0x03808) TDLEN[0]              00004000
	(0x03810) TDH[0]                00000006
	(0x03814) DCA_TXCTRL[0]         00002200
	(0x03914) DCA_TXCTRL[1]  00002a00
	(0x03818) TDT[0]                00000006
	(0x03828) TXDCTL[0]             02000000
	(0x03838) TDWBAL[0]             00000000
	(0x0383c) TDWBAH[0]             00000000


	Vector Control 	Message Data 	Message Address
	0x00000000 	0x00000000 	0x00000000FEE003F8
	0x00000000 	0x00000000 	0x00000000FEE00418
	0x00000000 	0x00000000 	0x00000000FEE00498

	Pending Bit Array
	0x00000000


\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0

[-- Attachment #3: Type: TEXT/PLAIN, Size: 4009 bytes --]

00:04.0 (8086:10ca)
Intel Corporation 82576 Virtual Function
	Offset    Name                  Value
	~~~~~~    ~~~~                  ~~~~~
	(0x00000) CTRL                  00000000
	(0x00008) STATUS                000c8743
	(0x00800) VMBMEM0               a0020003
	(0x00c40) V2PMAILBOX0           00000000
	(0x01048) FRTIMER               8ea2b3a9
	(0x01520) EICS                  00000005
	(0x01524) EIMS                  00000000
	(0x01528) EIMC                  00000000
	(0x0152c) EIAC                  00000007
	(0x01530) EIAM                  00000007
name: EITR  len: 2
	(0x01680) EITR[0]               062007a0
	(0x01684) EITR[1]               000007a0
	(0x01700) IVAR                  0a0a8081
	(0x01740) IVAR_MISC             00000082
	(0x02800) RDBAL[0]              1e8a8000
	(0x02804) RDBAH[0]              00000000
	(0x02808) RDLEN[0]              00004000
	(0x0280c) SRRCTL[0]             92088002
	(0x0290c) SRRCTL[1]      80000400
	(0x02810) RDH[0]                0000019c
	(0x02814) DCA_RXCTL[0]          0000a200
	(0x02914) DCA_RXCTL[1]   0000a200
	(0x02818) RDT[0]                000003fe
	(0x02828) RXDCTL[0]             02010810
	(0x02928) RXDCTL[1]      00010000
	(0x02830) RQDPC[0]              00000000
	(0x03800) TDBAL[0]              1d124000
	(0x03804) TDBAH[0]              00000000
	(0x03808) TDLEN[0]              00004000
	(0x03810) TDH[0]                00000030
	(0x03814) DCA_TXCTRL[0]         00002200
	(0x03914) DCA_TXCTRL[1]  00002a00
	(0x03818) TDT[0]                00000030
	(0x03828) TXDCTL[0]             02000000
	(0x03838) TDWBAL[0]             00000000
	(0x0383c) TDWBAH[0]             00000000


	Vector Control 	Message Data 	Message Address
	0x00000000 	0x00000000 	0x0000000000000000
	0x00000000 	0x00000000 	0x0000000000000000
	0x00000000 	0x00000000 	0x0000000000000000

	Pending Bit Array
	0x00000000


\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0

[-- Attachment #4: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: SR-IOV problems - HVM cannot access network
  2011-03-02  2:41       ` David White
@ 2011-03-02 11:06         ` Stefano Stabellini
  2011-03-02 20:55           ` David white
  0 siblings, 1 reply; 8+ messages in thread
From: Stefano Stabellini @ 2011-03-02 11:06 UTC (permalink / raw)
  To: David White; +Cc: Rose, Gregory V, xen-devel

On Wed, 2 Mar 2011, David White wrote:
> Thanks for your help so far.
> 
> Ubuntu Maverick is only running in the guest HVM domains.
> 
> I have two boards I am testing with, both with Intel 5520 chipset.  I'm using
> two 82576 nics from two different vendors, one attached to either board.  Both
> systems have AMI bios.  One system (call it systemA) has bios options for both
> VT-d and SR-IOV, and both are enabled, as is I/OAT.  The other system (systemB)
> has bios options for VT-d and "Coherency support" (which seemed to help me
> enumerate the VFs), and both are enabled (no mention of I/OAT).
> 
> SystemA runs Debian Squeeze and the xen kernel, vmm and tools from that distro.
> SystemB runs Fedora14 with the well-known "jeremy" kernel
> (http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=xen/stable-2.6.32.x),
> and xen-4.0.1 hypervisor built from source (unaltered).
> 
> Both systems are experiencing the same behavior.
> 
> attached are dom0 and hvm ethregs output for the VF using '-o -m'
> flags.  This one was taken from the Debian host ("systemA")
 
could you please try adding

acpi=0

in your VM config file?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: SR-IOV problems - HVM cannot access network
  2011-03-02 11:06         ` Stefano Stabellini
@ 2011-03-02 20:55           ` David white
  2011-03-02 21:58             ` Stefano Stabellini
  0 siblings, 1 reply; 8+ messages in thread
From: David white @ 2011-03-02 20:55 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: Rose, Gregory V, xen-devel


On Wed, 2 Mar 2011, Stefano Stabellini wrote:

> On Wed, 2 Mar 2011, David White wrote:
> > Thanks for your help so far.
> >
> > Ubuntu Maverick is only running in the guest HVM domains.
> >
> > I have two boards I am testing with, both with Intel 5520 chipset.  I'm using
> > two 82576 nics from two different vendors, one attached to either board.  Both
> > systems have AMI bios.  One system (call it systemA) has bios options for both
> > VT-d and SR-IOV, and both are enabled, as is I/OAT.  The other system (systemB)
> > has bios options for VT-d and "Coherency support" (which seemed to help me
> > enumerate the VFs), and both are enabled (no mention of I/OAT).
> >
> > SystemA runs Debian Squeeze and the xen kernel, vmm and tools from that distro.
> > SystemB runs Fedora14 with the well-known "jeremy" kernel
> > (http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=xen/stable-2.6.32.x),
> > and xen-4.0.1 hypervisor built from source (unaltered).
> >
> > Both systems are experiencing the same behavior.
> >
> > attached are dom0 and hvm ethregs output for the VF using '-o -m'
> > flags.  This one was taken from the Debian host ("systemA")
>
> could you please try adding
>
> acpi=0
>
> in your VM config file?
>

Hm, ok that seemed to do the trick, as far as getting the VFs up on the network.

Is this by design or is it a workaround? Must I sacrifice acpi in my guest to
enable sr-iov?  Does this come with a cost to I/O performance, since the guest
isn't using MSI?

-David

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: SR-IOV problems - HVM cannot access network
  2011-03-02 20:55           ` David white
@ 2011-03-02 21:58             ` Stefano Stabellini
  0 siblings, 0 replies; 8+ messages in thread
From: Stefano Stabellini @ 2011-03-02 21:58 UTC (permalink / raw)
  To: David white; +Cc: Rose, Gregory V, xen-devel, Allen Kay, Stefano Stabellini

On Wed, 2 Mar 2011, David white wrote:
> 
> On Wed, 2 Mar 2011, Stefano Stabellini wrote:
> 
> > On Wed, 2 Mar 2011, David White wrote:
> > > Thanks for your help so far.
> > >
> > > Ubuntu Maverick is only running in the guest HVM domains.
> > >
> > > I have two boards I am testing with, both with Intel 5520 chipset.  I'm using
> > > two 82576 nics from two different vendors, one attached to either board.  Both
> > > systems have AMI bios.  One system (call it systemA) has bios options for both
> > > VT-d and SR-IOV, and both are enabled, as is I/OAT.  The other system (systemB)
> > > has bios options for VT-d and "Coherency support" (which seemed to help me
> > > enumerate the VFs), and both are enabled (no mention of I/OAT).
> > >
> > > SystemA runs Debian Squeeze and the xen kernel, vmm and tools from that distro.
> > > SystemB runs Fedora14 with the well-known "jeremy" kernel
> > > (http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=xen/stable-2.6.32.x),
> > > and xen-4.0.1 hypervisor built from source (unaltered).
> > >
> > > Both systems are experiencing the same behavior.
> > >
> > > attached are dom0 and hvm ethregs output for the VF using '-o -m'
> > > flags.  This one was taken from the Debian host ("systemA")
> >
> > could you please try adding
> >
> > acpi=0
> >
> > in your VM config file?
> >
> 
> Hm, ok that seemed to do the trick, as far as getting the VFs up on the network.
> 

Thank you very much for testing this, it proves that the recent problems
with VF passthrough and HVM Linux guests are the same issue reported
here:

http://marc.info/?l=xen-devel&m=129847075105008&w=2

and here:

http://marc.info/?l=xen-devel&m=129891005422870&w=2


> Is this by design or is it a workaround? Must I sacrifice acpi in my guest to
> enable sr-iov?  Does this come with a cost to I/O performance, since the guest
> isn't using MSI?
 
It is just a workaround.
It shouldn't cost you any performance at all, but you won't be able to
hot-plug or hot-unplug PCI devices to your guests.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-03-02 21:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-01 19:31 SR-IOV problems - HVM cannot access network David White
2011-03-01 20:50 ` Rose, Gregory V
2011-03-01 22:04   ` David White
2011-03-01 22:41     ` Rose, Gregory V
2011-03-02  2:41       ` David White
2011-03-02 11:06         ` Stefano Stabellini
2011-03-02 20:55           ` David white
2011-03-02 21:58             ` Stefano Stabellini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.