From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id D1C245F13 for ; Tue, 3 Apr 2018 01:36:08 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Apr 2018 16:36:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,397,1517904000"; d="scan'208";a="43473078" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by fmsmga001.fm.intel.com with ESMTP; 02 Apr 2018 16:36:06 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.216]) by IRSMSX152.ger.corp.intel.com ([169.254.6.128]) with mapi id 14.03.0319.002; Tue, 3 Apr 2018 00:36:06 +0100 From: "Ananyev, Konstantin" To: "Zhang, Qi Z" , "thomas@monjalon.net" CC: "dev@dpdk.org" , "Xing, Beilei" , "Wu, Jingjing" , "Lu, Wenzhuo" Thread-Topic: [PATCH v5 0/3] runtime queue setup Thread-Index: AQHTyi6j7HDMcBZDmkKDrqgf7/QXL6PuIihw Date: Mon, 2 Apr 2018 23:36:05 +0000 Message-ID: <2601191342CEEE43887BDE71AB977258A0AB78A3@irsmsx105.ger.corp.intel.com> References: <20180212045314.171616-1-qi.z.zhang@intel.com> <20180402025935.33312-1-qi.z.zhang@intel.com> In-Reply-To: <20180402025935.33312-1-qi.z.zhang@intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMWNmNGMzZTgtNzIzMy00NzdhLTliZWQtNWJkNTVjMDQ3ZDYzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IlVYZHUrOHdGYVRWNHBUcm51U2JveDArTjlEbnlJVGtzXC9UV2pteXNHZTNJPSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 0/3] runtime queue setup 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, 02 Apr 2018 23:36:09 -0000 > -----Original Message----- > From: Zhang, Qi Z > Sent: Monday, April 2, 2018 4:00 AM > To: thomas@monjalon.net; Ananyev, Konstantin > Cc: dev@dpdk.org; Xing, Beilei ; Wu, Jingjing ; Lu, Wenzhuo ; > Zhang, Qi Z > Subject: [PATCH v5 0/3] runtime queue setup >=20 > v5: > - fix first tx queue check in i40e. >=20 > v4: > - fix i40e rx/tx funciton conflict handle. > - no need conflict check for first rx/tx queue at runtime setup. > - fix missing offload paramter in testpmd cmdline. >=20 > v3: > - not overload deferred start. > - rename deferred setup to runtime setup. > - remove unecessary testpmd parameters (patch 2/4 of v2) > - add offload support to testpmd queue setup command line > - i40e fix: return fail when required rx/tx function conflict with > exist setup. >=20 > v2: > - enhance comment in rte_ethdev.h >=20 > According to exist implementation,rte_eth_[rx|tx]_queue_setup will > always return fail if device is already started(rte_eth_dev_start). >=20 > This can't satisfied the usage when application want to deferred setup > part of the queues while keep traffic running on those queues already > be setup. >=20 > example: > rte_eth_dev_config(nb_rxq =3D 2, nb_txq =3D2) > rte_eth_rx_queue_setup(idx =3D 0 ...) > rte_eth_rx_queue_setup(idx =3D 0 ...) > rte_eth_dev_start(...) /* [rx|tx]_burst is ready to start on queue 0 */ > rte_eth_rx_queue_setup(idx=3D1 ...) /* fail*/ >=20 > Basically this is not a general hardware limitation, because for NIC > like i40e, ixgbe, it is not necessary to stop the whole device before > configure a fresh queue or reconfigure an exist queue with no traffic > on it. >=20 > The patch let etherdev driver expose the capability flag through > rte_eth_dev_info_get when it support deferred queue configuraiton, > then base on these flag, rte_eth_[rx|tx]_queue_setup could decide > continue to setup the queue or just return fail when device already > started. >=20 >=20 > Qi Zhang (3): > ether: support runtime queue setup > app/testpmd: add command for queue setup > net/i40e: enable runtime queue setup >=20 > app/test-pmd/cmdline.c | 129 ++++++++++++++++++++ > doc/guides/nics/features.rst | 8 ++ > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 7 ++ > drivers/net/i40e/i40e_ethdev.c | 4 + > drivers/net/i40e/i40e_rxtx.c | 183 ++++++++++++++++++++++= ++---- > lib/librte_ether/rte_ethdev.c | 30 +++-- > lib/librte_ether/rte_ethdev.h | 7 ++ > 7 files changed, 333 insertions(+), 35 deletions(-) >=20 > -- Acked-by: Konstantin Ananyev > 2.13.6