From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 67AD62BE6 for ; Wed, 3 Aug 2016 05:26:29 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP; 02 Aug 2016 20:26:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,464,1464678000"; d="scan'208";a="743420218" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by FMSMGA003.fm.intel.com with ESMTP; 02 Aug 2016 20:26:28 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 2 Aug 2016 20:26:28 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 2 Aug 2016 20:26:27 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.147]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.150]) with mapi id 14.03.0248.002; Wed, 3 Aug 2016 11:26:25 +0800 From: "Yao, Lei A" To: Jianbo Liu CC: "dev@dpdk.org" , "Zhang, Helin" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH] i40e: enable i40e pmd on ARM platform Thread-Index: AQHR7ItgInRccNeFxkWLAUSjK7P9QaA2h55ggAAIlDA= Date: Wed, 3 Aug 2016 03:26:25 +0000 Message-ID: <2DBBFF226F7CF64BAFCA79B681719D9502046341@shsmsx102.ccr.corp.intel.com> References: <1470121107-7622-1-git-send-email-jianbo.liu@linaro.org> <82F45D86ADE5454A95A89742C8D1410E0330A4B6@shsmsx102.ccr.corp.intel.com> In-Reply-To: <82F45D86ADE5454A95A89742C8D1410E0330A4B6@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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] i40e: enable i40e pmd on ARM platform X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2016 03:26:30 -0000 Hi, Jianbo I have tested you patch on my X86 platform, the single core performance fo= r Non-vector PMD will have about 1Mpps drop Non-vector PMD single core performance with patch : ~33.9 Mp= ps Non-vector PMD single core performance without patch : ~35.1 Mpps Is there any way to avoid such performance drop on X86? Thanks. BRs Lei -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jianbo Liu Sent: Tuesday, August 2, 2016 2:58 PM To: dev@dpdk.org; Zhang, Helin ; Wu, Jingjing Cc: Jianbo Liu Subject: [dpdk-dev] [PATCH] i40e: enable i40e pmd on ARM platform And add read memory barrier to avoid status inconsistency between two RX de= scriptors readings. Signed-off-by: Jianbo Liu --- config/defconfig_arm64-armv8a-linuxapp-gcc | 2 +- doc/guides/nics/overview.rst | 2 +- drivers/net/i40e/i40e_rxtx.c | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_= arm64-armv8a-linuxapp-gcc index 1a17126..08f282b 100644 --- a/config/defconfig_arm64-armv8a-linuxapp-gcc +++ b/config/defconfig_arm64-armv8a-linuxapp-gcc @@ -46,6 +46,6 @@ CONFIG_RTE_EAL_IGB_UIO=3Dn =20 CONFIG_RTE_LIBRTE_IVSHMEM=3Dn CONFIG_RTE_LIBRTE_FM10K_PMD=3Dn -CONFIG_RTE_LIBRTE_I40E_PMD=3Dn +CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=3Dn =20 CONFIG_RTE_SCHED_VECTOR=3Dn diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst in= dex 6abbae6..5175591 100644 --- a/doc/guides/nics/overview.rst +++ b/doc/guides/nics/overview.rst @@ -138,7 +138,7 @@ Most of these differences are summarized below. Linux VFIO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y = Y Y Y Other kdrv Y Y = Y ARMv7 = Y Y Y - ARMv8 Y Y Y Y = Y Y Y Y + ARMv8 Y Y Y Y Y = Y Y Y Y Power8 Y Y = Y TILE-Gx = Y x86-32 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y = Y Y Y Y diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c in= dex 554d167..4004b8e 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -994,6 +994,8 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) I40E_RXD_QW1_STATUS_SHIFT; } =20 + rte_rmb(); + /* Compute how many status bits were set */ for (j =3D 0, nb_dd =3D 0; j < I40E_LOOK_AHEAD; j++) nb_dd +=3D s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT); -- 2.4.11