From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5DE4C282DD for ; Fri, 24 May 2019 02:39:29 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 6F1102177E for ; Fri, 24 May 2019 02:39:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6F1102177E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 823CF1DB9; Fri, 24 May 2019 04:39:28 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id B70D33DC for ; Fri, 24 May 2019 04:39:26 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 May 2019 19:39:25 -0700 X-ExtLoop1: 1 Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 23 May 2019 19:39:24 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 23 May 2019 19:39:24 -0700 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 23 May 2019 19:39:24 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.70]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.7]) with mapi id 14.03.0415.000; Fri, 24 May 2019 10:39:22 +0800 From: "Zhang, Qi Z" To: "Ergin, Mesut A" , "Xing, Beilei" CC: "dev@dpdk.org" Thread-Topic: [PATCH 3/3] net/i40e: fix inadvertent override of vector RX allowance Thread-Index: AQHVC5/WLBSaKt0SjEmZhwLDjaSjEaZ3H4VggAFtCoCAAQQWEA== Date: Fri, 24 May 2019 02:39:22 +0000 Message-ID: <039ED4275CED7440929022BC67E7061153386A98@SHSMSX103.ccr.corp.intel.com> References: <1557980885-183777-1-git-send-email-mesut.a.ergin@intel.com> <1557980885-183777-4-git-send-email-mesut.a.ergin@intel.com> <039ED4275CED7440929022BC67E7061153385EC0@SHSMSX103.ccr.corp.intel.com> <3615B82CA151CF42A86EDDD9846A8B38C7A8C3E5@ORSMSX112.amr.corp.intel.com> In-Reply-To: <3615B82CA151CF42A86EDDD9846A8B38C7A8C3E5@ORSMSX112.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmYwMjViZjktNzEyNS00MGExLTkxYTEtYmJmZGE1ZTNjYWJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVFYzanh6WFkyRTY5bmV5QVh3WGVnQVFwZGdFTGpFSml1a0c3WGJHOUdTZWRrMnJ6XC9tbEp5T25PalNLZWFJMjUifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 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 3/3] net/i40e: fix inadvertent override of vector RX allowance 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" Hi Meset: > -----Original Message----- > From: Ergin, Mesut A > Sent: Friday, May 24, 2019 2:26 AM > To: Zhang, Qi Z ; Xing, Beilei > Cc: dev@dpdk.org > Subject: RE: [PATCH 3/3] net/i40e: fix inadvertent override of vector RX > allowance >=20 > Hi Qi, >=20 > > -----Original Message----- > > From: Zhang, Qi Z > > Sent: Wednesday, May 22, 2019 5:42 AM > > To: Ergin, Mesut A ; Xing, Beilei > > > > Cc: dev@dpdk.org > > Subject: RE: [PATCH 3/3] net/i40e: fix inadvertent override of vector > > RX allowance > > > > Hi Mesut: > > > > > -----Original Message----- > > > From: Ergin, Mesut A > > > Sent: Thursday, May 16, 2019 12:28 PM > > > To: Xing, Beilei ; Zhang, Qi Z > > > > > > Cc: dev@dpdk.org; Ergin, Mesut A > > > Subject: [PATCH 3/3] net/i40e: fix inadvertent override of vector RX > > > allowance > > > > > > When i40e_rx_vec_dev_conf_condition_check_default() determines > > > whether vector receive functions would be allowed during > > > initialization phase, it should honor previously recorded=09 > > > disallowance during configuration phase, and not override simply beca= use > it is for the first queue. > > > > > > Signed-off-by: Mesut Ali Ergin > > > --- > > > drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h > > > b/drivers/net/i40e/i40e_rxtx_vec_common.h > > > index 0e6ffa0..f30cab4 100644 > > > --- a/drivers/net/i40e/i40e_rxtx_vec_common.h > > > +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h > > > @@ -212,6 +212,10 @@ > > > i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev) > > > if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_EXTEND) > > > return -1; > > > > > > + /* Should not override if vector was already disallowed */ > > > > It is possible a device be reconfigured between dev_stop/dev_start, > > vector mode may fit for the new configure, so the old rx_vec_allowd > > should be ignored, > > >=20 > i40e_dev_configure would reset rx_vec_allowed already. Am I missing anoth= er > reconfiguration path? Look at below scenario, 1. dev_configure (rx_vec_allowed is reset to true) 2. queue_setup (the ring size is not power of 2)=20 3. dev_start (vector will not be selected due to ring size, rx_vec_allowed = set to false)=20 4. dev_stop=20 5. queue_setup (this time, with power of 2 ring size)=20 6. dev_start (assume vector path should be selected, and rx_vec_allowed sho= uld be overwrite to true, but your patch will prevent it) Also, I may not get the point of the gap you observed, would you share more= detail scenario? Regards Qi >=20 > Mesut >=20 > > Regards > > Qi > > > > > + if (!ad->rx_vec_allowed) > > > + return -1; > > > + > > > /** > > > * Vector mode is allowed only when number of Rx queue > > > * descriptor is power of 2. > > > -- > > > 2.7.4