DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Varghese, Vipin" <vipin.varghese@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>,
	"Mcnamara, John" <john.mcnamara@intel.com>,
	"Kovacevic, Marko" <marko.kovacevic@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"shreyansh.jain@nxp.com" <shreyansh.jain@nxp.com>,
	"Patel, Amol" <amol.patel@intel.com>,
	"Padubidri, Sanjay A" <sanjay.padubidri@intel.com>
Subject: Re: [dpdk-dev] [PATCH v5 2/2] doc: add guide for debug and troubleshoot
Date: Mon, 28 Jan 2019 14:51:34 +0000	[thread overview]
Message-ID: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2F76D5@BGSMSX101.gar.corp.intel.com> (raw)
In-Reply-To: <4205846.5ZvrQ4I3CE@xps>

Hi Thomas,

snipped
> 
> I feel this doc will be updated to provide a complete debug checklist,
Attempt is made to capture commonly seen filed issue. Saying so, I am clear that I will not be able to identify all debug check list. As time, experience and sharing increases (from the community), I am certain sure this will grow 

 and will

snipped
> One general comment about documentation, It is better to wrap lines
> logically, for example, always start sentences at the beginning of a new line. It
> will make further update patches simpler to review.
> 
> Few more nits below,
> 
> 21/01/2019 11:41, Vipin Varghese:
> > +.. _debug_troubleshoot_via_pmd:
I need cross check with John or Marko on the same, as the PDF generator tool make a check for anchor and figure name. 

> 
> No need of such anchor
Please give me time to cross check.

.
> 
> > +
> > +Debug & Troubleshoot guide via PMD
> > +==================================
> 
> Why "via PMD"? Do we use PMD for troubleshooting?
I believe yes, we do collect information with enhanced procinfo tool.

> Or is it dedicated to troubleshoot the PMD behaviour?
I am not clear with this statement. Hence is the query 'Is this dedicated to troubleshooting Application. PMD and Library uses cases?'

> 
> > +
> > +DPDK applications can be designed to run as single thread simple
> > +stage to multiple threads with complex pipeline stages. These
> > +application can use poll
> 
> applications
Ok

> 
> > +mode devices which helps in offloading CPU cycles. A few models are
> 
> help
Ok

> 
> A colon would be nice at the end of the line before the list.
> 
> > +
> > +  *  single primary
> > +  *  multiple primary
> > +  *  single primary single secondary
> > +  *  single primary multiple secondary
> > +
> > +In all the above cases, it is a tedious task to isolate, debug and
> > +understand odd behaviour which occurs randomly or periodically. The
> > +goal of guide is to share and explore a few commonly seen patterns
> > +and behaviour. Then, isolate and identify the root cause via step by
> > +step debug at various processing stages.
> 
> I don't understand how this introduction is related to "via PMD" in the title.
I believe the information is shared ```The goal of guide is to share and explore a few commonly seen patterns and behaviour. Then, isolate and identify the root cause via step by step debug at various processing stages.'```

There would multiple ways to design application for solving a same problem. These are depended on user, platform, scaling factor and target. These various combinations make use PMD and libraries. Misconfiguration and not taking care of platform will cause throttling and even drops.

Example: application designed to run on single is now been deployed to run on multi NUMA model.

snipped
> 
> "pkt mbuf" can be called simply mbuf, but event, crypto and eth should be
> eventdev, cryptodev and ethdev.
Ok. I can make this change.

> 
snipped
> > +To debug the bottleneck and performance issues the desired
> > +application
> 
> missing comma after "issues"?
Ok

> 
> > +is made to run in an environment matching as below
> 
> colon missing
Ok

> 
> > +
> > +#. Linux 64-bit|32-bit
> > +#. DPDK PMD and libraries are used
> 
> Isn't it always the case with DPDK?
> 
> > +#. Libraries and PMD are either static or shared. But not both
> 
> Strange assumption. Why would it be both?
If applications are only build with DPDK libraries, then yes the assumption is correct. But when applications are build using DPDK as one of software layer (example DPDK network stack, DPDK suricata, DPDK hyperscan)  as per my understanding this is not true.

> 
> > +#. Machine flag optimizations of gcc or compiler are made constant
> 
> What do you mean?
I can reword as ```DPDK and the application libraries are built with same flags. ```

> 
snipped
> > +
> > +   RX send rate compared against Received rate
> 
> RX send ?
Thanks will correct this

> 
> > +
> > +#. Are generic configuration correct?
> 
> Are -> Is
> 
> > +    -  What is port Speed, Duplex? rte_eth_link_get()
> > +    -  Are packets of higher sizes are dropped? rte_eth_get_mtu()
> 
> are dropped -> dropped
Ok 

snipped
> > +    -  Is the application is build using processing pipeline with RX
> > +stage? If
> 
> is build -> built
Ok

> 
> > +       there are multiple port-pair tied to a single RX core, try to debug by
> > +       using rte_prefetch_non_temporal(). This will intimate the mbuf in cache
> > +       is temporary.
> 
> I stop nit-picking review here.
Thanks as any form of correction is always good.

> Marko, John, please could you check english grammar?
> Thanks
> 
> 

  reply	other threads:[~2019-01-28 14:52 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-26  7:08 [dpdk-dev] [PATCH v3 1/2] doc: add svg for debug and troubleshoot guide Vipin Varghese
2018-11-26  7:08 ` [dpdk-dev] [PATCH v3 2/2] doc: add guide for debug and troubleshoot Vipin Varghese
2019-01-04  6:37   ` Shreyansh Jain
2019-01-04  7:01     ` Varghese, Vipin
2019-01-16 14:54   ` [dpdk-dev] [PATCH v4 0/2] doci/howto: add debug and troubleshoot guide Vipin Varghese
2019-01-16 14:54     ` [dpdk-dev] [PATCH v4 1/2] doc: add svg for " Vipin Varghese
2019-01-16 14:54     ` [dpdk-dev] [PATCH v4 2/2] doc: add guide for debug and troubleshoot Vipin Varghese
2019-01-18 15:28       ` Kovacevic, Marko
2019-01-21  3:38         ` Varghese, Vipin
2019-01-21 10:41       ` [dpdk-dev] [PATCH v5 0/2] doc/howto: add debug and troubleshoot guide Vipin Varghese
2019-01-21 10:41         ` [dpdk-dev] [PATCH v5 1/2] doc: add svg for " Vipin Varghese
2019-01-28  1:08           ` Thomas Monjalon
2019-01-28 14:28             ` Varghese, Vipin
2019-02-19 15:57           ` [dpdk-dev] [PATCH v6 0/2] guide to debug and troubleshoot Vipin Varghese
2019-02-19 15:57             ` [dpdk-dev] [PATCH v6 1/2] doc: add svg for debug and troubleshoot guide Vipin Varghese
2019-02-19 15:57             ` [dpdk-dev] [PATCH v6 2/2] doc: add guide for debug and troubleshoot Vipin Varghese
2019-02-25 11:34               ` Mcnamara, John
2019-02-25 15:46                 ` Varghese, Vipin
2019-01-21 10:41         ` [dpdk-dev] [PATCH v5 " Vipin Varghese
2019-01-28  1:30           ` Thomas Monjalon
2019-01-28 14:51             ` Varghese, Vipin [this message]
2019-01-28 15:59               ` Thomas Monjalon
2019-02-08  9:21                 ` Varghese, Vipin

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=4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2F76D5@BGSMSX101.gar.corp.intel.com \
    --to=vipin.varghese@intel.com \
    --cc=amol.patel@intel.com \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=sanjay.padubidri@intel.com \
    --cc=shreyansh.jain@nxp.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).