[dpdk-dev] em1000 driver lockup in KVM

Stephen Hemminger stephen at networkplumber.org
Sat Jul 23 00:39:32 CEST 2016


On Fri, 22 Jul 2016 14:19:29 -0700
Prabahar Radhakrishnan <prab at viptela.com> wrote:

> Hi,
>        I was running a dpdk application with e1000 driver and I am facing a
> rare driver lockup condition.  Under this condition, what I am seeing is
> that the Receive side locks up.  The transmit side is fine.  When I execute
> "rte_eth_dev_stop()/rte_eth_dev_start()" from within the VM, the dpdk
> application recovers.  The lockup happens once in 2 or 3 days if I
> continuously ping an IP address serviced by the dpdk application.  Once it
> locks up, what I am noticing is that even though packets are coming in, the
> driver is not populating them and signaling the event.  In other words, in
> "eth_em_recv_pkts" call, I am not seeing "E1000_RXD_STAT_DD" being set for
> status, and the driver bails out.  If anyone has come across such
> condition, please let me know?  Appreciate the help.
> 
> Environment:  I have a VM running on top of Ubuntu/KVM.
> Application: Running dpdk-2.0.0.
> VM: uses e1000 driver.
> On the KVM side, our port is sitting in a bridge.  There are other VNFs
> that we use for testing and some of them are using virtio driver.
> 
> Thank You
> regards Prab

Save yourself lots of pain, use virtio not e1000 with DPDK.
The emulation of E1000 in QEMU is very limited and DPDK expects real hardware.
Lots of features and control are missing.


More information about the dev mailing list