From: Chris Wright <chrisw@sous-sol.org>
To: Hannes Reinecke <hare@suse.de>
Cc: Chris Wright <chrisw@sous-sol.org>,
kvm@vger.kernel.org, Sheng Yang <sheng@linux.intel.com>
Subject: Re: MSI-X not enabled for ixgbe device-passthrough
Date: Fri, 26 Mar 2010 12:40:23 -0700 [thread overview]
Message-ID: <20100326194023.GC29241@sequoia.sous-sol.org> (raw)
In-Reply-To: <4BACDB56.4020508@suse.de>
* Hannes Reinecke (hare@suse.de) wrote:
> Chris Wright wrote:
> > * Hannes Reinecke (hare@suse.de) wrote:
> >> Hi all,
> >>
> >> I'm trying to setup a system with device-passthrough for
> >> an ixgbe NIC.
> >> The device itself seems to work, but it isn't using MSI-X.
> >> So some more advanced features like DCB offloading etc
> >> won't work.
> >
> > Please send the relevant dmesg from the guest when it initializes the
> > device. BTW, more typical case for that NIC is to assign the VF to the
> > guest, not the whole PF.
> >
> Yes, I know. But my kernel I'm testing with doesn't have one for ixgbe.
Ah, you mean it's an older (heh, ok, older actually means not brand new
upstream) kernel, w/out the recent sr-iov additions, fair enough.
> So I tested that one. And KVM really should enable MSI-X here,
> VFs notwithstanding.
Yeah, although it's not just KVM involved, it's very much driven by
the guest too. The guest will see (or at least should see) the MSI-X
capability, and decide based on the number of queues whether to enable
MSI-X (completely driver dependent here).
Did you have a chance to boot the guest again, and send the lspci -vvv from
the guest POV? You should see two PCI capabilities (MSI and 0x40 and
MSI-X at 0x50).
Actually, I have one of these devices, let me give it a quick test...
working fine here. Here's some relevant information:
Host:
$ sudo lspci -v -s 04:00.0
04:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f8080000 (64-bit, prefetchable) [size=512K]
I/O ports at d020 [size=32]
Memory at f8104000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-1b-21-ff-ff-3f-a1-b0
Capabilities: [150] Alternative Routing-ID Interpretation (ARI)
Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
$ grep kvm /proc/interrupts
95: 289 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm_assigned_msix_device
96: 32 0 0 0 292 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm_assigned_msix_device
97: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm_assigned_msix_device
Guest side:
$ sudo lspci -vvv -s 00:04.0
00:04.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2080000 (32-bit, non-prefetchable)
Region 2: I/O ports at c200
Region 4: Memory at f2100000 (32-bit, non-prefetchable)
Capabilities: [40] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [50] MSI-X: Enable+ Count=64 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00002000
$ grep eth1 /proc/interrupts
177: 387 PCI-MSI-X eth1-rx-0
185: 421 PCI-MSI-X eth1-tx-0
193: 2 PCI-MSI-X eth1:lsc
$ dmesg | grep -e 00:04.0 -e ixgbe
ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 2.0.8-k2
ixgbe: Copyright (c) 1999-2009 Intel Corporation.
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 10 (level, high) -> IRQ 10
PCI: Setting latency timer of device 0000:00:04.0 to 64
ixgbe: 0000:00:04.0: ixgbe_init_interrupt_scheme: Multiqueue Disabled: Rx Queue count = 1, Tx Queue count = 1
ixgbe 0000:00:04.0: (PCI Express:2.5Gb/s:Width x8) 00:1b:21:3f:a1:b0
ixgbe 0000:00:04.0: MAC: 2, PHY: 11, SFP+: 5, PBA No: e66562-003
ixgbe 0000:00:04.0: Intel(R) 10 Gigabit Network Connection
ixgbe: eth1 NIC Link is Up 10 Gbps, Flow Control: None
next prev parent reply other threads:[~2010-03-26 19:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-24 15:54 MSI-X not enabled for ixgbe device-passthrough Hannes Reinecke
2010-03-25 1:39 ` Sheng Yang
2010-03-25 15:29 ` Hannes Reinecke
2010-03-25 17:54 ` Chris Wright
2010-03-26 16:05 ` Hannes Reinecke
2010-03-26 19:40 ` Chris Wright [this message]
2010-03-29 6:28 ` Hannes Reinecke
2010-03-29 16:46 ` Chris Wright
2010-03-29 17:09 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100326194023.GC29241@sequoia.sous-sol.org \
--to=chrisw@sous-sol.org \
--cc=hare@suse.de \
--cc=kvm@vger.kernel.org \
--cc=sheng@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.