From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 97C4D5F20 for ; Mon, 28 Jan 2019 15:52:45 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Jan 2019 06:52:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,534,1539673200"; d="scan'208";a="314182297" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga006.fm.intel.com with ESMTP; 28 Jan 2019 06:52:44 -0800 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 28 Jan 2019 06:52:44 -0800 Received: from bgsmsx106.gar.corp.intel.com (10.223.43.196) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 28 Jan 2019 06:52:44 -0800 Received: from bgsmsx101.gar.corp.intel.com ([169.254.1.7]) by BGSMSX106.gar.corp.intel.com ([169.254.1.41]) with mapi id 14.03.0415.000; Mon, 28 Jan 2019 20:21:35 +0530 From: "Varghese, Vipin" To: Thomas Monjalon , "Mcnamara, John" , "Kovacevic, Marko" CC: "dev@dpdk.org" , "shreyansh.jain@nxp.com" , "Patel, Amol" , "Padubidri, Sanjay A" Thread-Topic: [dpdk-dev] [PATCH v5 2/2] doc: add guide for debug and troubleshoot Thread-Index: AQHUsUQTAwP90sa7M02bGGlFDZ/yaqXDk2IAgAE1xBA= Date: Mon, 28 Jan 2019 14:51:34 +0000 Message-ID: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2F76D5@BGSMSX101.gar.corp.intel.com> References: <20190116145452.53835-3-vipin.varghese@intel.com> <20190121104144.67365-1-vipin.varghese@intel.com> <20190121104144.67365-3-vipin.varghese@intel.com> <4205846.5ZvrQ4I3CE@xps> In-Reply-To: <4205846.5ZvrQ4I3CE@xps> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjZmMmY4ODQtMTZlYS00NjZhLTk2NjQtNjU5MmUxZDljNmZjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSm9HK0tUaXRoWWRiNjB2Y0NDWTdackI3NWdlN0xEXC9NemRWMENQcFpkSCtNSmNcL1FzQ2lXeXk5cHhlQ2ZScnVsIn0= dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.223.10.10] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 2/2] doc: add guide for debug and troubleshoot X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jan 2019 14:52:46 -0000 Hi Thomas, snipped >=20 > 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, experie= nce and sharing increases (from the community), I am certain sure this will= grow=20 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. >=20 > Few more nits below, >=20 > 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 too= l make a check for anchor and figure name.=20 >=20 > No need of such anchor Please give me time to cross check. . >=20 > > + > > +Debug & Troubleshoot guide via PMD > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > 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 t= o troubleshooting Application. PMD and Library uses cases?' >=20 > > + > > +DPDK applications can be designed to run as single thread simple > > +stage to multiple threads with complex pipeline stages. These > > +application can use poll >=20 > applications Ok >=20 > > +mode devices which helps in offloading CPU cycles. A few models are >=20 > help Ok >=20 > A colon would be nice at the end of the line before the list. >=20 > > + > > + * 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. >=20 > I don't understand how this introduction is related to "via PMD" in the t= itle. I believe the information is shared ```The goal of guide is to share and ex= plore a few commonly seen patterns and behaviour. Then, isolate and identif= y 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 var= ious combinations make use PMD and libraries. Misconfiguration and not taki= ng 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 >=20 > "pkt mbuf" can be called simply mbuf, but event, crypto and eth should be > eventdev, cryptodev and ethdev. Ok. I can make this change. >=20 snipped > > +To debug the bottleneck and performance issues the desired > > +application >=20 > missing comma after "issues"? Ok >=20 > > +is made to run in an environment matching as below >=20 > colon missing Ok >=20 > > + > > +#. Linux 64-bit|32-bit > > +#. DPDK PMD and libraries are used >=20 > Isn't it always the case with DPDK? >=20 > > +#. Libraries and PMD are either static or shared. But not both >=20 > 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 m= y understanding this is not true. >=20 > > +#. Machine flag optimizations of gcc or compiler are made constant >=20 > What do you mean? I can reword as ```DPDK and the application libraries are built with same f= lags. ``` >=20 snipped > > + > > + RX send rate compared against Received rate >=20 > RX send ? Thanks will correct this >=20 > > + > > +#. Are generic configuration correct? >=20 > Are -> Is >=20 > > + - What is port Speed, Duplex? rte_eth_link_get() > > + - Are packets of higher sizes are dropped? rte_eth_get_mtu() >=20 > are dropped -> dropped Ok=20 snipped > > + - Is the application is build using processing pipeline with RX > > +stage? If >=20 > is build -> built Ok >=20 > > + there are multiple port-pair tied to a single RX core, try to d= ebug by > > + using rte_prefetch_non_temporal(). This will intimate the mbuf = in cache > > + is temporary. >=20 > I stop nit-picking review here. Thanks as any form of correction is always good. > Marko, John, please could you check english grammar? > Thanks >=20 >=20