DPDK patches and discussions
 help / color / mirror / Atom feed
From: "François-Frédéric Ozog" <ff@ozog.com>
To: <dev@dpdk.org>
Subject: [dpdk-dev] Receive queue full
Date: Tue, 18 Feb 2014 14:14:51 +0100	[thread overview]
Message-ID: <005a01cf2cab$6840a310$38c1e930$@com> (raw)
In-Reply-To: <DUB111-W121193D81181E4012B5F94CB1980@phx.gbl>

Hi,

I am bumping into a similar problem than the one explained here
(https://www.mail-archive.com/e1000-devel@lists.sourceforge.net/msg07684.htm
l): At some point in time, a receive queue gets "FULL" i.e. tail==head
(reading the NIC registers) and the thread associated to that queue cannot
retrieve any packet from it.

The test program derived from L2FWD echoes packets received on one port back
to the same port, it reads up to 32 packets and send them back. The echo
works nicely for a few seconds then queues gets full and stall.

I have found that setting rx_conf.rx_free_thresh down from 32 to 28 (the
multiple of 4 just before 32) avoids the problem and can handle close to
10Mpps per port. 

Test context:
	- 4 socket Xeon E7 4800v2 with 256GB RAM
	- 32GB hugepages reserved, 104 lcores reserved
	- DPDK 1.5.0, testing with the latest from git presents a
performance glitch I can't pinpoint at present.
	- two ports (either 82599ES or X540) loaded at 10Mpps
	- various tests with 2 to 15 receive queues per port
	- various tests with different combinations of RX_PTHRESH,
RX_HTHRESH, RX_WTHRESH

It really looks like a race condition (32 reads, 32 refresh cycle) but I
can't figure it out if it exists.

I'd be glad to get any comment or question on the issue.

Cordially,

François-Frédéric

      parent reply	other threads:[~2014-02-18 13:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-17 15:48 [dpdk-dev] Question on DPDK multi-process support Mauro Annarumma
2014-02-17 16:44 ` Richardson, Bruce
2014-02-18 12:45   ` Mauro Annarumma
2014-02-18 12:53     ` Richardson, Bruce
2014-02-18 13:14     ` François-Frédéric Ozog [this message]

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='005a01cf2cab$6840a310$38c1e930$@com' \
    --to=ff@ozog.com \
    --cc=dev@dpdk.org \
    /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 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).