DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] soft lockup calling receive burst
@ 2015-03-20 17:53 Joseph Vossen
  2015-03-20 18:26 ` Jay Rolette
  0 siblings, 1 reply; 3+ messages in thread
From: Joseph Vossen @ 2015-03-20 17:53 UTC (permalink / raw)
  To: dev

hello,

I am working on a dpdk-based app using version 1.6 under RH7.3.  Under varying traffic loads, I will intermittently notice a kernel soft lockup and the RIP provided by the kernel always points to the same MOV instruction in rte_ethdev.h (line #1982).  The stack trace looks like:


		dev = &rte_eth_devices[port_id];
		return (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id], rx_pkts, nb_pkts);


		473176:	0f b7 15 a7 68 38 00		movzwl 0x3868a7(%rip),%edx	# 7f9a24 <max_rx_burst> rte_eth_rx_burst():
		47317d:	0f b6 31				movzbl (%rcx),%esi
		473180:	48 89 f0				mov %rsi,%rax
		473183:	0f b6 71 01			movzbl 0x1(%rcx),%esi
		473187:	48 c1 e0 06			shl $0x6,%rax
		47318b:	48 8b b8 70 ed 83 00		mov 0x83ed70(%rax),%rdi
	---->	473192:	48 8b 0f				mov (%rdi),%rcx
		473195:	48 8b 3c f1				mov (%rcx,%rsi,8),%rdi
		473199:	4c 89 ee				mov %r13,%rsi
		47319c:	ff 90 60 ed 83 00		callq *0x83ed60(%rax)


has any one else seen something like this?

thanks

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

* Re: [dpdk-dev] soft lockup calling receive burst
  2015-03-20 17:53 [dpdk-dev] soft lockup calling receive burst Joseph Vossen
@ 2015-03-20 18:26 ` Jay Rolette
  2015-03-20 19:04   ` Joseph Vossen
  0 siblings, 1 reply; 3+ messages in thread
From: Jay Rolette @ 2015-03-20 18:26 UTC (permalink / raw)
  To: bford; +Cc: DPDK

On Fri, Mar 20, 2015 at 12:53 PM, Joseph Vossen <jkvossen@vossen.org> wrote:

> hello,
>
> I am working on a dpdk-based app using version 1.6 under RH7.3.  Under
> varying traffic loads, I will intermittently notice a kernel soft lockup
> and the RIP provided by the kernel always points to the same MOV
> instruction in rte_ethdev.h (line #1982).  The stack trace looks like:
>
>
>                 dev = &rte_eth_devices[port_id];
>                 return
> (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id], rx_pkts, nb_pkts);
>
>
>                 473176: 0f b7 15 a7 68 38 00            movzwl
> 0x3868a7(%rip),%edx      # 7f9a24 <max_rx_burst> rte_eth_rx_burst():
>                 47317d: 0f b6 31                                movzbl
> (%rcx),%esi
>                 473180: 48 89 f0                                mov
> %rsi,%rax
>                 473183: 0f b6 71 01                     movzbl
> 0x1(%rcx),%esi
>                 473187: 48 c1 e0 06                     shl $0x6,%rax
>                 47318b: 48 8b b8 70 ed 83 00            mov
> 0x83ed70(%rax),%rdi
>         ---->   473192: 48 8b 0f                                mov
> (%rdi),%rcx
>                 473195: 48 8b 3c f1                             mov
> (%rcx,%rsi,8),%rdi
>                 473199: 4c 89 ee                                mov
> %r13,%rsi
>                 47319c: ff 90 60 ed 83 00               callq
> *0x83ed60(%rax)
>
>
> has any one else seen something like this?
>
> thanks


I haven't seen that, but there's a soft-lockup in KNI in DPDK 1.6. Here's
what I posted about that one a few weeks ago:

Found the problem. No patch to submit since it's already fixed in later
versions of DPDK, but thought I'd follow up with the details since I'm sure
we aren't the only ones trying to use bleeding-edge versions of DPDK...

In kni_net_rx_normal(), it was calling netif_receive_skb() instead of
netif_rx(). The source for netif_receive_skb() point out that it should
only be called from soft-irq context, which isn't the case for KNI.

As typical, simple fix once you track it down.

Yao-Po Wang's fix:  commit 41a6ebded53982107c1adfc0652d6cc1375a7db9.

Jay

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

* Re: [dpdk-dev] soft lockup calling receive burst
  2015-03-20 18:26 ` Jay Rolette
@ 2015-03-20 19:04   ` Joseph Vossen
  0 siblings, 0 replies; 3+ messages in thread
From: Joseph Vossen @ 2015-03-20 19:04 UTC (permalink / raw)
  To: Jay Rolette; +Cc: DPDK

[snip]

> I haven't seen that, but there's a soft-lockup in KNI in DPDK 1.6. Here's what I posted about that one a few weeks ago:
> 
> Found the problem. No patch to submit since it's already fixed in later versions of DPDK, but thought I'd follow up with the details since I'm sure we aren't the only ones trying to use bleeding-edge versions of DPDK...
> 
> In kni_net_rx_normal(), it was calling netif_receive_skb() instead of netif_rx(). The source for netif_receive_skb() point out that it should only be called from soft-irq context, which isn't the case for KNI.
> 
> As typical, simple fix once you track it down.
> 
> Yao-Po Wang's fix:  commit 41a6ebded53982107c1adfc0652d6cc1375a7db9.

I noticed that posting, but KNI is not involved here...thanks!

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

end of thread, other threads:[~2015-03-20 19:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-20 17:53 [dpdk-dev] soft lockup calling receive burst Joseph Vossen
2015-03-20 18:26 ` Jay Rolette
2015-03-20 19:04   ` Joseph Vossen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).