[dpdk-dev] Kernel deadlock due to rte_kni

Dey, Souvik sodey at sonusnet.com
Thu Mar 26 13:32:46 CET 2015


Thanks got your point then we should be changing this in DPDK also as in 1.8 we are using netif_rx in rte_kni.c.

Souvik

-----Original Message-----
From: Neil Horman [mailto:nhorman at tuxdriver.com] 
Sent: Thursday, March 26, 2015 5:51 PM
To: Dey, Souvik
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] Kernel deadlock due to rte_kni

On Thu, Mar 26, 2015 at 11:01:14AM +0000, Dey, Souvik wrote:
> Do you see any benefit of calling netif_rx_ni() and not directly netif_rx() ?
> 
Yes, I see using the ni variant as not being a bug.  kni_net_rx is run from process context (it runs as a thread created by kthread_create).  netif_rx assumes execution occurs in interrupt context, so deadlocks like those below can still occur if you don't disable pre-emption and irqs on the local cpu.
netif_rx_ni (the No Interrupt) variant, does that for you.

Neil



More information about the dev mailing list