From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 69424A0613 for ; Fri, 27 Sep 2019 03:17:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BCA391BE0; Fri, 27 Sep 2019 03:17:31 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id E5BC61041 for ; Fri, 27 Sep 2019 03:17:29 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Sep 2019 18:17:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,553,1559545200"; d="scan'208";a="214670573" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga004.fm.intel.com with ESMTP; 26 Sep 2019 18:17:28 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 26 Sep 2019 18:17:28 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX119.amr.corp.intel.com (10.18.124.207) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 26 Sep 2019 18:17:27 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.113]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.140]) with mapi id 14.03.0439.000; Fri, 27 Sep 2019 09:17:25 +0800 From: "Wang, Haiyue" To: Stephen Hemminger CC: "dev@dpdk.org" , "Yigit, Ferruh" , "Ye, Xiaolong" , "Kinsella, Ray" , "Iremonger, Bernard" , "Sun, Chenmin" Thread-Topic: [dpdk-dev] [PATCH v1 0/4] get Rx/Tx packet burst mode information Thread-Index: AQHVdGEZMsbMkx3vqEaJ++h0IOIPgqc9l1IAgACPF0D//4angIABCW6A Date: Fri, 27 Sep 2019 01:17:25 +0000 Message-ID: References: <20190926114818.91063-1-haiyue.wang@intel.com> <20190926085728.51161998@hermes.lan> <20190926101517.505ab45c@hermes.lan> In-Reply-To: <20190926101517.505ab45c@hermes.lan> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWNmYmExODYtMmU5YS00NDgzLTkxZmYtNzlkYzgzNjg2MWYwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiXC9VSFNVajNydjZKQWlpM1U1UlhESWJIQ0hWYW0xMlJ2S0IwdjM0dkNoejU5bHlSeWhrb1NxWjBKT0FPUlwvV2ZRIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v1 0/4] get Rx/Tx packet burst mode information 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Stephen Hemminger [mailto:stephen@networkplumber.org] > Sent: Friday, September 27, 2019 01:15 > To: Wang, Haiyue > Cc: dev@dpdk.org; Yigit, Ferruh ; Ye, Xiaolong ; > Kinsella, Ray ; Iremonger, Bernard ; Sun, Chenmin > > Subject: Re: [dpdk-dev] [PATCH v1 0/4] get Rx/Tx packet burst mode inform= ation >=20 > On Thu, 26 Sep 2019 16:36:09 +0000 > "Wang, Haiyue" wrote: >=20 > > Hi Stephen, > > > > > -----Original Message----- > > > From: Stephen Hemminger [mailto:stephen@networkplumber.org] > > > Sent: Thursday, September 26, 2019 23:57 > > > To: Wang, Haiyue > > > Cc: dev@dpdk.org; Yigit, Ferruh ; Ye, Xiaolon= g ; > > > Kinsella, Ray ; Iremonger, Bernard ; Sun, > Chenmin > > > > > > Subject: Re: [dpdk-dev] [PATCH v1 0/4] get Rx/Tx packet burst mode in= formation > > > > > > On Thu, 26 Sep 2019 19:48:14 +0800 > > > Haiyue Wang wrote: > > > > > > > RFCv3 -> v1: > > > > https://patchwork.dpdk.org/patch/59103/ > > > > https://patchwork.dpdk.org/patch/59104/ > > > > https://patchwork.dpdk.org/patch/59105/ > > > > https://patchwork.dpdk.org/patch/59106/ > > > > 1). Use the function 'rte_bsf64' to iterate the options for > > > > getting the name. > > > > > > > > Haiyue Wang (4): > > > > ethdev: add the API for getting burst mode information > > > > net/i40e: support to get the Rx/Tx burst mode > > > > net/ice: support to get the Rx/Tx burst mode > > > > app/testpmd: show the Rx/Tx burst mode description > > > > > > > > app/test-pmd/config.c | 29 +++++++++ > > > > doc/guides/rel_notes/release_19_11.rst | 9 +++ > > > > drivers/net/i40e/i40e_ethdev.c | 2 + > > > > drivers/net/i40e/i40e_ethdev.h | 4 ++ > > > > drivers/net/i40e/i40e_rxtx.c | 72 ++++++++++++++++++++= + > > > > drivers/net/ice/ice_ethdev.c | 2 + > > > > drivers/net/ice/ice_rxtx.c | 54 ++++++++++++++++ > > > > drivers/net/ice/ice_rxtx.h | 4 ++ > > > > lib/librte_ethdev/rte_ethdev.c | 75 ++++++++++++++++++++= ++ > > > > lib/librte_ethdev/rte_ethdev.h | 82 ++++++++++++++++++++= ++++ > > > > lib/librte_ethdev/rte_ethdev_core.h | 5 ++ > > > > lib/librte_ethdev/rte_ethdev_version.map | 5 ++ > > > > 12 files changed, 343 insertions(+) > > > > > > > > > > A couple of meta comments: > > > 1) Could this be part of dev_info_get somehow? > > > > > > > https://patchwork.dpdk.org/patch/57624/ > > 'Think of a better way that doesn't break ABI.' ;-) >=20 > That comment was made relative to 19.08, but 19.11 is the time where > API/ABI breakage is allowed. >=20 Since 'rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_= info)' focuses on 'port' level, the new rx/tx_burst_mode API can support 'queue' l= evel: 'rte_eth_tx_burst_mode_get(uint16_t port_id, uint16_t queue_id ...', in oth= er words, PMD can optimize their queues in Vector/Scalar/... modes for each qu= eue, not have to just one mode for all queues at the same time, this API can ret= urn "Per Queue" information. > > > 2) Why should application care? Is this just a test hook? > > > > https://patches.dpdk.org/cover/57623/ > > This is from FD.io VPP's bug, and finally, we come out > > this API for application accessing the burst mode information. > > It can be used as a simple trace or something like performance > > analysis like why slow ? Not in vector, anyway, application can > > get this burst mode information now, not just open PMD debug log > > level. >=20 > From an architecture perspective, diagnostics are good but VPP is probabl= y > taking that too far. It is possible to expose local symbols if they > want to keep using dlsym() by adjusting linker flags. It is more that VPP > is stripping everything. Since VPP has chosen to go their own > way is fixable inside VPP without changing DPDK. Also, long term VPP is > going away from using DPDK drivers. Probably soon they will have their > own drivers for i40e and ice anyway. >=20 >=20 > The basis of my concern is that this is one of those kind of API's > that creates long term technical debt around supporting it as other > things change. At first, we use 'string format' to make VPP happy, now, we use bit-fields for general use. People come, people go, even VPP left DPDK, now, testpmd is the first user, and I think it is good for 'test' the PMD with friendly information: testpmd> show rxq info 0 0 ********************* Infos for port 0 , RX queue 0 ********************* Mempool: mbuf_pool_socket_0 RX prefetch threshold: 0 RX host threshold: 0 RX writeback threshold: 0 RX free threshold: 32 RX drop packets: off RX deferred start: off RX scattered packets: off Number of RXDs: 1024 Burst mode: Vector AVX2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D> dire= ct information, not have to check the code and open debug to make su= re every setting is right. testpmd> show txq info 0 0 ********************* Infos for port 0 , TX queue 0 ********************* TX prefetch threshold: 32 TX host threshold: 0 TX writeback threshold: 0 TX RS threshold: 32 TX free threshold: 32 TX deferred start: off Number of TXDs: 1024 Burst mode: Vector AVX2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D>