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 70469A0561; Tue, 21 Apr 2020 08:46:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 48AF91D73C; Tue, 21 Apr 2020 08:46:15 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 9F22D1D72D for ; Tue, 21 Apr 2020 08:46:13 +0200 (CEST) IronPort-SDR: y1PjNvJNuhbEGL9ndy5tn6h6uAVz3OY/8nvLzdYEtSjL1VqJ9Ksa3Aip0ITH1ovjsbhKfY/d4d S0j2ap0cuFCw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 23:46:12 -0700 IronPort-SDR: +Rr3wrPXPvb/W3C94SvPBUHn/QWLXBXP/o5mK6Qm1jfp2kiVNjrdZSbZE7qWiMb3PN8JR19BhC DYWYR00cSCig== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,409,1580803200"; d="scan'208";a="402093929" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga004.jf.intel.com with ESMTP; 20 Apr 2020 23:46:12 -0700 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 23:46:12 -0700 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 23:46:12 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.146]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.213]) with mapi id 14.03.0439.000; Tue, 21 Apr 2020 14:43:07 +0800 From: "Liu, Yong" To: Maxime Coquelin , "Ye, Xiaolong" , "Wang, Zhihong" CC: "dev@dpdk.org" Thread-Topic: [PATCH v6 2/9] net/virtio: enable vectorized path Thread-Index: AQHWE/5gCZlAHTXRQkuNOVNKCLvLWqiBjCoAgAGb7EA= Date: Tue, 21 Apr 2020 06:43:07 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E6353E7CC@SHSMSX103.ccr.corp.intel.com> References: <20200313174230.74661-1-yong.liu@intel.com> <20200416222431.114184-1-yong.liu@intel.com> <20200416222431.114184-3-yong.liu@intel.com> In-Reply-To: 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 v6 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: Monday, April 20, 2020 10:08 PM > To: Liu, Yong ; Ye, Xiaolong ; > Wang, Zhihong > Cc: dev@dpdk.org > Subject: Re: [PATCH v6 2/9] net/virtio: enable vectorized path >=20 > Hi Marvin, >=20 > On 4/17/20 12:24 AM, Marvin Liu wrote: > > Previously, virtio split ring vectorized path is enabled as default. > > This is not suitable for everyone because of that path not follow virti= o > > spec. Add new config for virtio vectorized path selection. By default > > vectorized path is enabled. >=20 > It should be disabled by default if not following spec. Also, it means > it will always be enabled with Meson, which is not acceptable. >=20 > I think we should have a devarg, so that it is built by default but > disabled. User would specify explicitly he wants to enable vector > support when probing the device. >=20 Thanks, Maxime. Will change to disable as default in next version. > Thanks, > Maxime >=20 > > Signed-off-by: Marvin Liu > > > > diff --git a/config/common_base b/config/common_base > > index c31175f9d..5901a94f7 100644 > > --- a/config/common_base > > +++ b/config/common_base > > @@ -449,6 +449,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=3Dy > > > > # > > # Compile virtio device emulation inside virtio PMD driver > > diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile > > index efdcb0d93..9ef445bc9 100644 > > --- a/drivers/net/virtio/Makefile > > +++ b/drivers/net/virtio/Makefile > > @@ -29,6 +29,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) > > @@ -36,6 +37,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 5e7ca855c..f9619a108 100644 > > --- a/drivers/net/virtio/meson.build > > +++ b/drivers/net/virtio/meson.build > > @@ -9,12 +9,14 @@ sources +=3D files('virtio_ethdev.c', > > 'virtqueue.c') > > deps +=3D ['kvargs', 'bus_pci'] > > > > -if arch_subdir =3D=3D 'x86' > > - sources +=3D files('virtio_rxtx_simple_sse.c') > > -elif arch_subdir =3D=3D 'ppc' > > - sources +=3D files('virtio_rxtx_simple_altivec.c') > > -elif arch_subdir =3D=3D 'arm' and > host_machine.cpu_family().startswith('aarch64') > > - sources +=3D files('virtio_rxtx_simple_neon.c') > > +if dpdk_conf.has('RTE_LIBRTE_VIRTIO_INC_VECTOR') > > + if arch_subdir =3D=3D 'x86' > > + sources +=3D files('virtio_rxtx_simple_sse.c') > > + elif arch_subdir =3D=3D 'ppc' > > + sources +=3D files('virtio_rxtx_simple_altivec.c') > > + elif arch_subdir =3D=3D 'arm' and > host_machine.cpu_family().startswith('aarch64') > > + sources +=3D files('virtio_rxtx_simple_neon.c') > > + endif > > endif > > > > if is_linux > >