From: "Kovacevic, Marko" <marko.kovacevic@intel.com>
To: "Varghese, Vipin" <vipin.varghese@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"shreyansh.jain@nxp.com" <shreyansh.jain@nxp.com>,
"thomas@monjalon.net" <thomas@monjalon.net>
Cc: "Mcnamara, John" <john.mcnamara@intel.com>,
"Patel, Amol" <amol.patel@intel.com>,
"Padubidri, Sanjay A" <sanjay.padubidri@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 2/2] doc: add guide for debug and troubleshoot
Date: Fri, 18 Jan 2019 15:28:44 +0000 [thread overview]
Message-ID: <6DC05C7C5F25994B81B3F2F214251F660207E27A@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <20190116145452.53835-3-vipin.varghese@intel.com>
After checking the patch again I found a few spelling mistakes
> Add user guide on debug and troubleshoot for common issues and
> bottleneck found in sample application model.
>
> Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
> ---
> doc/guides/howto/debug_troubleshoot_guide.rst | 375
> ++++++++++++++++++
> doc/guides/howto/index.rst | 1 +
> 2 files changed, 376 insertions(+)
> create mode 100644 doc/guides/howto/debug_troubleshoot_guide.rst
>
<...>
receieve / receive
> + - If stats for RX and drops updated on same queue? check receieve
> thread
> + - If packet does not reach PMD? check if offload for port and queue
> + matches to traffic pattern send.
> +
<...>
Offlaod/ offload
> + - Is the packet multi segmented? Check if port and queue offlaod is set.
> +
> +Are there object drops in producer point for ring?
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<...>
sufficent / sufficient
> + - Are drops on specific socket? If yes check if there are sufficent
> + objects by rte_mempool_get_count() or rte_mempool_avail_count()
> + - Is 'rte_mempool_get_count() or rte_mempool_avail_count()' zero?
> + application requires more objects hence reconfigure number of
> + elements in rte_mempool_create().
> + - Is there single RX thread for multiple NIC? try having multiple
> + lcore to read from fixed interface or we might be hitting cache
> + limit, so increase cache_size for pool_create().
> +
Sceanrios/ scenarios
> +#. Is performance low for some sceanrios?
> + - Check if sufficient objects in mempool by rte_mempool_avail_count()
> + - Is failure seen in some packets? we might be getting packets with
> + 'size > mbuf data size'.
> + - Is NIC offload or application handling multi segment mbuf? check the
> + special packets are continuous with rte_pktmbuf_is_contiguous().
> + - If there separate user threads used to access mempool objects, use
> + rte_mempool_cache_create() for non DPDK threads.
debuging / debugging
> + - Is the error reproducible with 1GB hugepage? If no, then try debuging
> + the issue with lookup table or objects with rte_mem_lock_page().
> +
> +.. note::
> + Stall in release of MBUF can be because
<...>
softwre / software
> + - If softwre crypto is in use, check if the CRYPTO Library is build with
> + right (SIMD) flags or check if the queue pair using CPU ISA for
> + feature_flags AVX|SSE|NEON using rte_cryptodev_info_get()
Assited/ assisted
> + - If its hardware assited crypto showing performance variance? Check if
> + hardware is on same NUMA socket as queue pair and session pool.
> +
<...>
exceeeding / exceeding
> + core? registered functions may be exceeeding the desired time slots
> + while running on same service core.
> + - Is function is running on RTE core? check if there are conflicting
> + functions running on same CPU core by rte_thread_get_affinity().
> +
<...>
> +#. Where to capture packets?
> + - Enable pdump in primary to allow secondary to access queue-pair for
> + ports. Thus packets are copied over in RX|TX callback by secondary
> + process using ring buffers.
> + - To capture packet in middle of pipeline stage, user specific hooks
> + or callback are to be used to copy the packets. These packets can
secodnary / secondary
> + be shared to secodnary process via user defined custom rings.
> +
> +Issue still persists?
> +~~~~~~~~~~~~~~~~~~~~~
> +
> +#. Are there custom or vendor specific offload meta data?
> + - From PMD, then check for META data error and drops.
> + - From application, then check for META data error and drops.
> +#. Is multiprocess is used configuration and data processing?
> + - Check enabling or disabling features from secondary is supported or
> not?
Obejcts/ objects
> +#. Is there drops for certain scenario for packets or obejcts?
> + - Check user private data in objects by dumping the details for debug.
> +
<...>
Thanks,
Marko K
next prev parent reply other threads:[~2019-01-18 15:29 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 [this message]
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
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=6DC05C7C5F25994B81B3F2F214251F660207E27A@IRSMSX104.ger.corp.intel.com \
--to=marko.kovacevic@intel.com \
--cc=amol.patel@intel.com \
--cc=dev@dpdk.org \
--cc=john.mcnamara@intel.com \
--cc=sanjay.padubidri@intel.com \
--cc=shreyansh.jain@nxp.com \
--cc=thomas@monjalon.net \
--cc=vipin.varghese@intel.com \
/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).