DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling
@ 2017-07-24 17:24 ilia.kurakin
  2017-07-25 10:04 ` Mcnamara, John
  2017-07-26 15:20 ` [dpdk-dev] [PATCH v2] " ilia.kurakin
  0 siblings, 2 replies; 5+ messages in thread
From: ilia.kurakin @ 2017-07-24 17:24 UTC (permalink / raw)
  To: dev
  Cc: jerin.jacob, konstantin.ananyev, keith.wiles, dmitry.galanov,
	Ilia Kurakin

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(+)

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
 ------------------
 
-- 
2.7.4


--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

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.

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

* Re: [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling
  2017-07-24 17:24 [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling ilia.kurakin
@ 2017-07-25 10:04 ` Mcnamara, John
  2017-07-25 10:50   ` Mcnamara, John
  2017-07-26 15:20 ` [dpdk-dev] [PATCH v2] " ilia.kurakin
  1 sibling, 1 reply; 5+ messages in thread
From: Mcnamara, John @ 2017-07-25 10:04 UTC (permalink / raw)
  To: Kurakin, Ilia, dev
  Cc: jerin.jacob, Ananyev, Konstantin, Wiles, Keith, Galanov, Dmitry,
	Kurakin, Ilia



> -----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

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

* Re: [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling
  2017-07-25 10:04 ` Mcnamara, John
@ 2017-07-25 10:50   ` Mcnamara, John
  0 siblings, 0 replies; 5+ messages in thread
From: Mcnamara, John @ 2017-07-25 10:50 UTC (permalink / raw)
  To: Mcnamara, John, Kurakin, Ilia, dev
  Cc: jerin.jacob, Ananyev, Konstantin, Wiles, Keith, Galanov, Dmitry,
	Kurakin, Ilia



> -----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


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

* [dpdk-dev] [PATCH v2] doc: add how to enable empty cycles profiling
  2017-07-24 17:24 [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling ilia.kurakin
  2017-07-25 10:04 ` Mcnamara, John
@ 2017-07-26 15:20 ` ilia.kurakin
  2017-07-28 12:11   ` Mcnamara, John
  1 sibling, 1 reply; 5+ messages in thread
From: ilia.kurakin @ 2017-07-26 15:20 UTC (permalink / raw)
  To: dev; +Cc: jerin.jacob, john.mcnamara, dmitry.galanov, Ilia Kurakin

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

Programmers 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>

---

-V2 change:
    Fixes due to review


 doc/guides/prog_guide/profile_app.rst | 37 ++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst
index 54b546a..f1d6eeb 100644
--- a/doc/guides/prog_guide/profile_app.rst
+++ b/doc/guides/prog_guide/profile_app.rst
@@ -39,7 +39,8 @@ Profiling on x86
 ----------------
 
 Intel processors provide performance counters to monitor events.
-Some tools provided by Intel, such as VTune, can be used to profile and benchmark an application.
+Some tools provided by Intel, such as Intel® VTune™ Amplifier, can be used
+to profile and benchmark an application.
 See the *VTune Performance Analyzer Essentials* publication from Intel Press for more information.
 
 For a DPDK application, this can be done in a Linux* application environment only.
@@ -59,6 +60,40 @@ Refer to the
 for details about application profiling.
 
 
+VTune ITT
+~~~~~~~~~
+
+Iterations that yielded no RX packets (wasted loop iterations) can be analyzed
+using VTune 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
 ------------------
 
-- 
2.9.3

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

* Re: [dpdk-dev] [PATCH v2] doc: add how to enable empty cycles profiling
  2017-07-26 15:20 ` [dpdk-dev] [PATCH v2] " ilia.kurakin
@ 2017-07-28 12:11   ` Mcnamara, John
  0 siblings, 0 replies; 5+ messages in thread
From: Mcnamara, John @ 2017-07-28 12:11 UTC (permalink / raw)
  To: Kurakin, Ilia, dev; +Cc: jerin.jacob, Galanov, Dmitry



> -----Original Message-----
> From: Kurakin, Ilia
> Sent: Wednesday, July 26, 2017 4:20 PM
> To: dev@dpdk.org
> Cc: jerin.jacob@caviumnetworks.com; Mcnamara, John
> <john.mcnamara@intel.com>; Galanov, Dmitry <dmitry.galanov@intel.com>;
> Kurakin, Ilia <ilia.kurakin@intel.com>
> Subject: [PATCH v2] doc: add how to enable empty cycles profiling
> 
> From: Ilia Kurakin <ilia.kurakin@intel.com>
> 
> Programmers 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>

Acked-by: John McNamara <john.mcnamara@intel.com>



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

end of thread, other threads:[~2017-07-28 12:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-24 17:24 [dpdk-dev] [PATCH] doc: add how to enable empty cycles profiling ilia.kurakin
2017-07-25 10:04 ` Mcnamara, John
2017-07-25 10:50   ` Mcnamara, John
2017-07-26 15:20 ` [dpdk-dev] [PATCH v2] " ilia.kurakin
2017-07-28 12:11   ` Mcnamara, John

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).