Message ID | 1500917040-26906-1-git-send-email-ilia.kurakin@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
> -----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
> -----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
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 ------------------