DPDK usage discussions
 help / color / mirror / Atom feed
From: Kaustubh Mendki <kaustubh.mendki@gmail.com>
To: users@dpdk.org
Subject: [dpdk-users] Packet drop observed due to increased processing time of rte_eth_tx_burst( ) after dpdk upgrade
Date: Mon, 29 Mar 2021 13:09:04 +0530
Message-ID: <CAPnzX8qStUqWUSMgxGFnK_kAfPkXn5JcHnTD6M0CE8H+Xc7=Nw@mail.gmail.com> (raw)

Hi,

Our app is currently using dpdk 17.11.10 (CentOS 7.9 Mellanox
OFED 5.2-2.2.0.0-rhel7.9-x86_64). It is quite similar to test-pipeline
example with io_rx, workers and io_tx threads running on separate lcores.

After upgrading to either dpdk 19.11.2 or dpdk 20.11.1, we observed few
packets being dropped between workers and tx threads because tx thread is
not able to keep up with the rate at which worker threads are enqueuing
packets in the ring, and eventually ring becomes full. it occurs only for a
moment initially at the start of traffic generation (@500 Mbps), then
packet drops are not seen thereafter.

The bottleneck seems to be rte_eth_tx_burst() call in tx thread which seems
to be much slower in dpdk 19.11 and 20.11 consuming ~150 milliseconds
initially for few packets and later improving with processing time in
nanoseconds. With dpdk 17.11.10, where no drop is seen, the same call
executes in ~50 microseconds for initial few packets and later in
nanoseconds. The burst size used in transmission is 1.

Is there any change in the implementation or configuration (offloads?)
required for  rte_eth_tx_burst() in dpdk 19.11.2 which could impact the
initial performance? With only dpdk upgrade and all other platform specific
things (OS, drivers) being the same, I am not sure what could be the reason
behind the higher execution time for the burst API in dpdk 19/20?

Thanks,

Kaustubh

                 reply	other threads:[~2021-03-29  7:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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='CAPnzX8qStUqWUSMgxGFnK_kAfPkXn5JcHnTD6M0CE8H+Xc7=Nw@mail.gmail.com' \
    --to=kaustubh.mendki@gmail.com \
    --cc=users@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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ https://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git