[dpdk-dev] doc: add how to enable empty cycles profiling

Message ID 1500917040-26906-1-git-send-email-ilia.kurakin@intel.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

ilia.kurakin@intel.com July 24, 2017, 5:24 p.m. UTC
  From: Ilia Kurakin <ilia.kurakin@intel.com>

Programmer's Guide: section "Profile Your Application" updated
with how to enable ITT tasks collection. Based on patch:
http://dpdk.org/dev/patchwork/patch/27158/

Signed-off-by: Ilia Kurakin <ilia.kurakin@intel.com>
---
 doc/guides/prog_guide/profile_app.rst | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
  

Comments

John McNamara July 25, 2017, 10:04 a.m. UTC | #1
> -----Original Message-----

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of

> ilia.kurakin@intel.com

> Sent: Monday, July 24, 2017 6:24 PM

> To: dev@dpdk.org

> Cc: jerin.jacob@caviumnetworks.com; Ananyev, Konstantin

> <konstantin.ananyev@intel.com>; Wiles, Keith <keith.wiles@intel.com>;

> Galanov, Dmitry <dmitry.galanov@intel.com>; Kurakin, Ilia

> <ilia.kurakin@intel.com>

> Subject: [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling

> 

> From: Ilia Kurakin <ilia.kurakin@intel.com>

> 

> Programmer's Guide: section "Profile Your Application" updated with how to

> enable ITT tasks collection. Based on patch:

> http://dpdk.org/dev/patchwork/patch/27158/


Hi Ilia,

Thanks for the doc patch.


> 

> +Profiling wasted iterations with ITT

> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Probably better to call this VTune ITT


> +

> +Iterations that yielded no RX packets (wasted loop iterations) can be

> +analyzed using Intel® VTune\ :sup:`TM` Amplifier. 


You don't need a superscript here. You can use the TM symbol directly like
the previous (R) symbol.

> This e-mail and any attachments may contain confidential material for

> the sole use of the intended recipient(s). Any review or distribution

> by others is strictly prohibited. If you are not the intended

> recipient, please contact the sender and delete all copies.


For future patches you should omit this footer. I'll send you some instructions
on how to do that.

John
  
John McNamara July 25, 2017, 10:50 a.m. UTC | #2
> -----Original Message-----

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Mcnamara, John

> Sent: Tuesday, July 25, 2017 11:05 AM

> To: Kurakin, Ilia <ilia.kurakin@intel.com>; dev@dpdk.org

> Cc: jerin.jacob@caviumnetworks.com; Ananyev, Konstantin

> <konstantin.ananyev@intel.com>; Wiles, Keith <keith.wiles@intel.com>;

> Galanov, Dmitry <dmitry.galanov@intel.com>; Kurakin, Ilia

> <ilia.kurakin@intel.com>

> Subject: Re: [dpdk-dev] [PATCH] doc: add how to enable empty cycles

> profiling

> 

> 

> 

> > -----Original Message-----

> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of

> > ilia.kurakin@intel.com

> > Sent: Monday, July 24, 2017 6:24 PM

> > To: dev@dpdk.org

> > Cc: jerin.jacob@caviumnetworks.com; Ananyev, Konstantin

> > <konstantin.ananyev@intel.com>; Wiles, Keith <keith.wiles@intel.com>;

> > Galanov, Dmitry <dmitry.galanov@intel.com>; Kurakin, Ilia

> > <ilia.kurakin@intel.com>

> > Subject: [dpdk-dev] [PATCH] doc: add how to enable empty cycles

> > profiling

> >

> > From: Ilia Kurakin <ilia.kurakin@intel.com>

> >

> > Programmer's Guide: section "Profile Your Application" updated with

> > how to enable ITT tasks collection. Based on patch:

> > http://dpdk.org/dev/patchwork/patch/27158/

> 

> Hi Ilia,

> 

> Thanks for the doc patch.

> 

> 

> >

> > +Profiling wasted iterations with ITT

> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> 

> Probably better to call this VTune ITT

> 

> 

> > +

> > +Iterations that yielded no RX packets (wasted loop iterations) can be

> > +analyzed using Intel® VTune\ :sup:`TM` Amplifier.

> 

> You don't need a superscript here. You can use the TM symbol directly like

> the previous (R) symbol.

> 


P.S., it might to better to move the (R) and (TM) to the previous paragraph
where Vtune is used for the first time.

John
  

Patch

diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst
index 54b546a..a52fd70 100644
--- a/doc/guides/prog_guide/profile_app.rst
+++ b/doc/guides/prog_guide/profile_app.rst
@@ -59,6 +59,40 @@  Refer to the
 for details about application profiling.
 
 
+Profiling wasted iterations with ITT
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Iterations that yielded no RX packets (wasted loop iterations) can be analyzed
+using Intel® VTune\ :sup:`TM` Amplifier. This profiling employs the
+`Instrumentation and Tracing Technology (ITT) API
+<https://software.intel.com/en-us/node/544195>`_
+feature of VTune Amplifier and requires only reconfiguring the DPDK library,
+no changes in a DPDK application are needed.
+
+To trace wasted iterations on RX queues, first reconfigure DPDK with
+``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS`` and
+``CONFIG_RTE_ETHDEV_PROFILE_ITT_WASTED_RX_ITERATIONS`` enabled.
+
+Then rebuild DPDK, specifying paths to the ITT header and library, which can
+be found in any VTune Amplifier distribution in the *include* and *lib*
+directories respectively:
+
+.. code-block:: console
+
+    make EXTRA_CFLAGS=-I<path to ittnotify.h> \
+         EXTRA_LDLIBS="-L<path to libittnotify.a> -littnotify"
+
+Finally, to see wasted iterations in your performance analysis results,
+select the *"Analyze user tasks, events, and counters"* checkbox in the
+*"Analysis Type"* tab when configuring analysis via VTune Amplifier GUI.
+Alternatively, when running VTune Amplifier via command line, specify
+``-knob enable-user-tasks=true`` option.
+
+Collected regions of wasted iterations will be marked on VTune Amplifier's
+timeline as ITT tasks. These ITT tasks have predefined names, containing
+Ethernet device and RX queue identifiers.
+
+
 Profiling on ARM64
 ------------------