DPDK patches and discussions
 help / color / mirror / Atom feed
From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com, thomas@monjalon.net, bernard.iremonger@intel.com
Subject: [dpdk-dev] [PATCH v2 0/3] app/testpmd: qualify Rx/Tx profiling data on burst size
Date: Thu, 19 Mar 2020 13:50:48 +0000	[thread overview]
Message-ID: <1584625851-10291-1-git-send-email-viacheslavo@mellanox.com> (raw)
In-Reply-To: <1561553317-16777-1-git-send-email-viacheslavo@mellanox.com>

There is the CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES configuration
parameter enabling the lightweight profiler for the forwarding
routines that provides the time spent in the routines and estimates
the CPU cycles required to process one packet.

It would be good to have separated data for the Rx and Tx directions.
Beside this, the performance depends on the actual burst size, the profiling
data per burst size are meaningful and would help detect the performance
anomalies.

To control this profiling statistics the new testpmd command is introduced:

  set fwdprof (flags)

This command controls which profiling statistics is being gathered
in runtime:

- bit 0 - enables profiling the entire forward routine, counts the ticks
          spent in the forwarding routine, is set by default. Provides
	  the same data as previous implementation.

- bit 1 - enables gathering the profiling data for the transmit datapath,
          counts the ticks spent within rte_eth_tx_burst() routine,
          is cleared by default, extends the existing statistics.

- bit 2 - enables gathering the profiling data for the receive datapath,
          counts the ticks spent within	rte_eth_rx_burst() routine,
	  is cleared by default, extends the existing statistics.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

---
v2: - run time flags instead of compile time configuration
    - detailed statistics per burst size

v1: http://patches.dpdk.org/patch/55407/

Viacheslav Ovsiienko (3):
  app/testpmd: add profiling flags set command
  app/testpmd: gather Rx and Tx routines profiling
  app/testpmd: qualify profiling statistics on burst size

 app/test-pmd/cmdline.c                      | 15 ++++++++
 app/test-pmd/config.c                       | 10 +++++
 app/test-pmd/csumonly.c                     | 26 ++++++-------
 app/test-pmd/flowgen.c                      | 26 ++++++-------
 app/test-pmd/icmpecho.c                     | 27 +++++++-------
 app/test-pmd/iofwd.c                        | 26 ++++++-------
 app/test-pmd/macfwd.c                       | 26 ++++++-------
 app/test-pmd/macswap.c                      | 26 ++++++-------
 app/test-pmd/rxonly.c                       | 14 ++-----
 app/test-pmd/softnicfwd.c                   | 26 ++++++-------
 app/test-pmd/testpmd.c                      | 52 ++++++++++++++++++++++----
 app/test-pmd/testpmd.h                      | 58 ++++++++++++++++++++++++++++-
 app/test-pmd/txonly.c                       | 25 ++++++-------
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++
 14 files changed, 256 insertions(+), 123 deletions(-)

-- 
1.8.3.1


  parent reply	other threads:[~2020-03-19 13:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-26 12:48 [dpdk-dev] [PATCH] app/testpmd: add profiling for Rx/Tx burst routines Viacheslav Ovsiienko
2019-06-26 12:57 ` Bruce Richardson
2019-06-26 13:19   ` Slava Ovsiienko
2019-06-26 13:21     ` Bruce Richardson
2019-06-27  4:48       ` Slava Ovsiienko
2019-06-28 13:45         ` Iremonger, Bernard
2019-06-28 14:20           ` Bruce Richardson
2019-07-01  4:57             ` Slava Ovsiienko
2019-07-01  8:15               ` Bruce Richardson
2019-09-30 12:32                 ` Yigit, Ferruh
2020-03-19 13:50 ` Viacheslav Ovsiienko [this message]
2020-03-19 13:50   ` [dpdk-dev] [PATCH v2 1/3] app/testpmd: add profiling flags set command Viacheslav Ovsiienko
2020-04-02 11:15     ` Thomas Monjalon
2020-04-09 11:56     ` Ferruh Yigit
2020-04-13  7:56       ` Slava Ovsiienko
2020-04-13 12:23         ` Thomas Monjalon
2020-04-14  9:07         ` Ferruh Yigit
2020-03-19 13:50   ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: gather Rx and Tx routines profiling Viacheslav Ovsiienko
2020-04-02 11:20     ` Thomas Monjalon
2020-04-02 11:23       ` Slava Ovsiienko
2020-03-19 13:50   ` [dpdk-dev] [PATCH v2 3/3] app/testpmd: qualify profiling statistics on burst size Viacheslav Ovsiienko
2020-03-20  6:13     ` Jerin Jacob
2020-04-09 11:46       ` Ferruh Yigit
2020-04-09 12:49         ` Jerin Jacob
2020-03-20 16:03     ` Andrzej Ostruszka
2020-04-02 11:21     ` Thomas Monjalon
2020-04-09 12:03     ` Ferruh Yigit
2020-04-09 12:09       ` Thomas Monjalon
2020-04-02 11:13   ` [dpdk-dev] [PATCH v2 0/3] app/testpmd: qualify Rx/Tx profiling data " Thomas Monjalon

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=1584625851-10291-1-git-send-email-viacheslavo@mellanox.com \
    --to=viacheslavo@mellanox.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    /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).