[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM)
From: |
jacob jacob |
Subject: |
[Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM) |
Date: |
Thu, 12 Mar 2015 12:17:40 -0400 |
Hi,
Seeing failures when trying to do PCI passthrough of Intel XL710 40G
interface to KVM vm.
0a:00.1 Ethernet controller: Intel Corporation Ethernet
Controller XL710 for 40GbE QSFP+ (rev 01)
>From dmesg on host:
> [80326.559674] kvm: zapping shadow pages for mmio generation wraparound
> [80327.271191] kvm [175994]: vcpu0 unhandled rdmsr: 0x1c9
> [80327.271689] kvm [175994]: vcpu0 unhandled rdmsr: 0x1a6
> [80327.272201] kvm [175994]: vcpu0 unhandled rdmsr: 0x1a7
> [80327.272681] kvm [175994]: vcpu0 unhandled rdmsr: 0x3f6
> [80327.376186] kvm [175994]: vcpu0 unhandled rdmsr: 0x606
>
The pci device is still available in the VM but stat transfer fails.
With the i40e driver, the data transfer fails.
Relevant dmesg output:
> [ 11.544088] i40e 0000:00:05.0 eth1: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 11.689178] i40e 0000:00:06.0 eth2: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 16.704071] ------------[ cut here ]------------
> [ 16.705053] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:303
> dev_watchdog+0x23e/0x250()
> [ 16.705053] NETDEV WATCHDOG: eth1 (i40e): transmit queue 1 timed out
> [ 16.705053] Modules linked in: cirrus ttm drm_kms_helper i40e drm ppdev
> serio_raw i2c_piix4 virtio_net parport_pc ptp virtio_balloon crct10dif_pclmul
> pps_core parport pvpanic crc32_pclmul ghash_clmulni_intel virtio_blk
> crc32c_intel virtio_pci virtio_ring virtio ata_generic pata_acpi
> [ 16.705053] CPU: 1 PID: 0 Comm: swapper/1 Not tainted
> 3.18.7-200.fc21.x86_64 #1
> [ 16.705053] Hardware name: Fedora Project OpenStack Nova, BIOS
> 1.7.5-20140709_153950- 04/01/2014
> [ 16.705053] 0000000000000000 2e5932b294d0c473 ffff88043fc83d48
> ffffffff8175e686
> [ 16.705053] 0000000000000000 ffff88043fc83da0 ffff88043fc83d88
> ffffffff810991d1
> [ 16.705053] ffff88042958f5c0 0000000000000001 ffff88042865f000
> 0000000000000001
> [ 16.705053] Call Trace:
> [ 16.705053] <IRQ> [<ffffffff8175e686>] dump_stack+0x46/0x58
> [ 16.705053] [<ffffffff810991d1>] warn_slowpath_common+0x81/0xa0
> [ 16.705053] [<ffffffff81099245>] warn_slowpath_fmt+0x55/0x70
> [ 16.705053] [<ffffffff8166e62e>] dev_watchdog+0x23e/0x250
> [ 16.705053] [<ffffffff8166e3f0>] ? dev_graft_qdisc+0x80/0x80
> [ 16.705053] [<ffffffff810fd52a>] call_timer_fn+0x3a/0x120
> [ 16.705053] [<ffffffff8166e3f0>] ? dev_graft_qdisc+0x80/0x80
> [ 16.705053] [<ffffffff810ff692>] run_timer_softirq+0x212/0x2f0
> [ 16.705053] [<ffffffff8109d7a4>] __do_softirq+0x124/0x2d0
> [ 16.705053] [<ffffffff8109db75>] irq_exit+0x125/0x130
> [ 16.705053] [<ffffffff817681d8>] smp_apic_timer_interrupt+0x48/0x60
> [ 16.705053] [<ffffffff817662bd>] apic_timer_interrupt+0x6d/0x80
> [ 16.705053] <EOI> [<ffffffff811005c8>] ? hrtimer_start+0x18/0x20
> [ 16.705053] [<ffffffff8105ca96>] ? native_safe_halt+0x6/0x10
> [ 16.705053] [<ffffffff810f81d3>] ? rcu_eqs_enter+0xa3/0xb0
> [ 16.705053] [<ffffffff8101ec7f>] default_idle+0x1f/0xc0
> [ 16.705053] [<ffffffff8101f64f>] arch_cpu_idle+0xf/0x20
> [ 16.705053] [<ffffffff810dad35>] cpu_startup_entry+0x3c5/0x410
> [ 16.705053] [<ffffffff8104a2af>] start_secondary+0x1af/0x1f0
> [ 16.705053] ---[ end trace 7bda53aeda558267 ]---
> [ 16.705053] i40e 0000:00:05.0 eth1: tx_timeout recovery level 1
> [ 16.705053] i40e 0000:00:05.0: i40e_vsi_control_tx: VSI seid 519 Tx ring 0
> disable timeout
> [ 16.744198] i40e 0000:00:05.0: i40e_vsi_control_tx: VSI seid 520 Tx ring
> 64 disable timeout
> [ 16.779322] i40e 0000:00:05.0: i40e_ptp_init: added PHC on eth1
> [ 16.791819] i40e 0000:00:05.0: PF 40 attempted to control timestamp mode
> on port 1, which is owned by PF 1
> [ 16.933869] i40e 0000:00:05.0 eth1: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 18.853624] SELinux: initialized (dev tmpfs, type tmpfs), uses transition
> SIDs
> [ 22.720083] i40e 0000:00:05.0 eth1: tx_timeout recovery level 2
> [ 22.826993] i40e 0000:00:05.0: i40e_vsi_control_tx: VSI seid 519 Tx ring 0
> disable timeout
> [ 22.935288] i40e 0000:00:05.0: i40e_vsi_control_tx: VSI seid 520 Tx ring
> 64 disable timeout
> [ 23.669555] i40e 0000:00:05.0: i40e_ptp_init: added PHC on eth1
> [ 23.682067] i40e 0000:00:05.0: PF 40 attempted to control timestamp mode
> on port 1, which is owned by PF 1
> [ 23.722423] i40e 0000:00:05.0 eth1: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 23.800206] i40e 0000:00:06.0: i40e_ptp_init: added PHC on eth2
> [ 23.813804] i40e 0000:00:06.0: PF 48 attempted to control timestamp mode
> on port 0, which is owned by PF 0
> [ 23.855275] i40e 0000:00:06.0 eth2: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 38.720091] i40e 0000:00:05.0 eth1: tx_timeout recovery level 3
> [ 38.725844] random: nonblocking pool is initialized
> [ 38.729874] i40e 0000:00:06.0: HMC error interrupt
> [ 38.733425] i40e 0000:00:06.0: i40e_vsi_control_tx: VSI seid 518 Tx ring 0
> disable timeout
> [ 38.738886] i40e 0000:00:06.0: i40e_vsi_control_tx: VSI seid 521 Tx ring
> 64 disable timeout
> [ 39.689569] i40e 0000:00:06.0: i40e_ptp_init: added PHC on eth2
> [ 39.704197] i40e 0000:00:06.0: PF 48 attempted to control timestamp mode
> on port 0, which is owned by PF 0
> [ 39.746879] i40e 0000:00:06.0 eth2: NIC Link is Down
> [ 39.838356] i40e 0000:00:05.0: i40e_ptp_init: added PHC on eth1
> [ 39.851788] i40e 0000:00:05.0: PF 40 attempted to control timestamp mode
> on port 1, which is owned by PF 1
> [ 39.892822] i40e 0000:00:05.0 eth1: NIC Link is Down
> [ 43.011610] i40e 0000:00:06.0 eth2: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
> [ 43.059976] i40e 0000:00:05.0 eth1: NIC Link is Up 40 Gbps Full Duplex,
> Flow Control: None
Would appreciate any information on how to debug this issue further
and if the "unhandled rdmsr" logs from KVM indicate some issues with
the device passthrough.
Thanks
Jacob
- [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), jacob jacob, 2015/03/12
- [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM),
jacob jacob <=
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), Alex Williamson, 2015/03/12
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), Bandan Das, 2015/03/12
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), jacob jacob, 2015/03/12
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), Bandan Das, 2015/03/12
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), jacob jacob, 2015/03/13
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), jacob jacob, 2015/03/16
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), Bandan Das, 2015/03/16
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), jacob jacob, 2015/03/16
- Re: [Qemu-devel] PCI passthrough of 40G ethernet interface (Openstack/KVM), Bandan Das, 2015/03/16