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 4BFCBA00C2; Thu, 23 Apr 2020 10:47:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 273E11D513; Thu, 23 Apr 2020 10:47:27 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id B6BF537B1 for ; Thu, 23 Apr 2020 10:47:25 +0200 (CEST) IronPort-SDR: 9WnLmoKKtgNp/ZZf1KiP34MNNoNusEMH+atTmc1BhcHIbZN1pdzwoIqJuz+pnmcvGbqIErwdKV WNHJUrIbxJBA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2020 01:47:24 -0700 IronPort-SDR: AbO4OWQoYeRrM2URl1AH/r5v9q9aDfhsHt1YdoMnitRc64VljjNSB0J0ZKVxDsxV0B9dBUdYGE IAeewMc5SK6Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,306,1583222400"; d="scan'208";a="292213289" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga008.jf.intel.com with ESMTP; 23 Apr 2020 01:47:24 -0700 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 01:47:03 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 01:47:03 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.146]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.89]) with mapi id 14.03.0439.000; Thu, 23 Apr 2020 16:47:00 +0800 From: "Liu, Yong" To: Maxime Coquelin , "Ye, Xiaolong" , "Wang, Zhihong" CC: "Van Haaren, Harry" , "dev@dpdk.org" Thread-Topic: [PATCH v8 2/9] net/virtio: enable vectorized path Thread-Index: AQHWGSt9sfLvLKHAC0SUllnqYLKoOKiF21CAgACGXuA= Date: Thu, 23 Apr 2020 08:46:59 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E635420B5@SHSMSX103.ccr.corp.intel.com> References: <20200313174230.74661-1-yong.liu@intel.com> <20200423123106.78513-1-yong.liu@intel.com> <20200423123106.78513-3-yong.liu@intel.com> <8fa86b57-e791-807b-9887-c8fd81f62c47@redhat.com> In-Reply-To: <8fa86b57-e791-807b-9887-c8fd81f62c47@redhat.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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 v8 2/9] net/virtio: enable vectorized path 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: Maxime Coquelin > Sent: Thursday, April 23, 2020 4:34 PM > To: Liu, Yong ; Ye, Xiaolong ; > Wang, Zhihong > Cc: Van Haaren, Harry ; dev@dpdk.org > Subject: Re: [PATCH v8 2/9] net/virtio: enable vectorized path >=20 >=20 >=20 > On 4/23/20 2:30 PM, Marvin Liu wrote: > > Previously, virtio split ring vectorized path is enabled as default. >=20 > s/is/was/ > s/as/by/ >=20 > > This is not suitable for everyone because of that path not follow virti= o >=20 > s/because of that path not follow/because that path does not follow the/ >=20 > > spec. Add new config for virtio vectorized path selection. By default > > vectorized path is disabled. >=20 > I think we can keep it enabled by default for consistency between make & > meson, now that you are providing a devarg for it that is disabled by > default. >=20 > Maybe we can just drop this config flag, what do you think? >=20 Maxime,=20 Devarg will only have effect on virtio-user path selection, while DPDK conf= iguration can affect both virtio pmd and virtio-user. It maybe worth to add new configuration as it can allow user to choice whet= her disabled vectorized path in virtio pmd. =20 IMHO, AVX512 instructions should be selective in each component.=20 Regards, Marvin > Thanks, > Maxime >=20 > > Signed-off-by: Marvin Liu > > > > diff --git a/config/common_base b/config/common_base > > index 00d8d0792..334a26a17 100644 > > --- a/config/common_base > > +++ b/config/common_base > > @@ -456,6 +456,7 @@ CONFIG_RTE_LIBRTE_VIRTIO_PMD=3Dy > > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=3Dn > > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=3Dn > > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=3Dn > > +CONFIG_RTE_LIBRTE_VIRTIO_INC_VECTOR=3Dn > > > > # > > # Compile virtio device emulation inside virtio PMD driver > > diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile > > index c9edb84ee..4b69827ab 100644 > > --- a/drivers/net/virtio/Makefile > > +++ b/drivers/net/virtio/Makefile > > @@ -28,6 +28,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D > virtio_rxtx.c > > SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D virtio_ethdev.c > > SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D virtio_rxtx_simple.c > > > > +ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_INC_VECTOR),y) > > ifeq ($(CONFIG_RTE_ARCH_X86),y) > > SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D virtio_rxtx_simple_sse.c > > else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y) > > @@ -35,6 +36,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D > virtio_rxtx_simple_altivec.c > > else ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) > $(CONFIG_RTE_ARCH_ARM64)),) > > SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D virtio_rxtx_simple_neon.c > > endif > > +endif > > > > ifeq ($(CONFIG_RTE_VIRTIO_USER),y) > > SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) +=3D virtio_user/vhost_user.c > > diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.= build > > index 15150eea1..ce3525ef5 100644 > > --- a/drivers/net/virtio/meson.build > > +++ b/drivers/net/virtio/meson.build > > @@ -8,6 +8,7 @@ sources +=3D files('virtio_ethdev.c', > > 'virtqueue.c') > > deps +=3D ['kvargs', 'bus_pci'] > > > > +dpdk_conf.set('RTE_LIBRTE_VIRTIO_INC_VECTOR', 1) > > if arch_subdir =3D=3D 'x86' > > sources +=3D files('virtio_rxtx_simple_sse.c') > > elif arch_subdir =3D=3D 'ppc' > >