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 8AF342BB9 for ; Mon, 12 Jun 2017 12:18:31 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP; 12 Jun 2017 03:18:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,333,1493708400"; d="scan'208";a="112031419" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.91]) ([10.237.220.91]) by orsmga005.jf.intel.com with ESMTP; 12 Jun 2017 03:18:29 -0700 To: Qi Zhang , konstantin.ananyev@intel.com Cc: wenzhuo.lu@intel.com, helin.zhang@intel.com, dev@dpdk.org References: <1494991243-21940-1-git-send-email-qi.z.zhang@intel.com> <1497158256-10059-1-git-send-email-qi.z.zhang@intel.com> From: Ferruh Yigit Message-ID: <89bdca5f-e6b1-b756-45be-3ea47b7c0d28@intel.com> Date: Mon, 12 Jun 2017 11:18:28 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <1497158256-10059-1-git-send-email-qi.z.zhang@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v3] net/ixgbe: enable PTYPE offload for x86 vector PMD 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, 12 Jun 2017 10:18:33 -0000 On 6/11/2017 6:17 AM, Qi Zhang wrote: > Hardware PTYPE in Rx desc will be parsed to fill > mbuf's packet_type. > > Signed-off-by: Qi Zhang <...> > diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile > index 5529d81..8b86fe3 100644 > --- a/drivers/net/ixgbe/Makefile > +++ b/drivers/net/ixgbe/Makefile > @@ -125,6 +125,11 @@ SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599_bypass.c > endif > SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += rte_pmd_ixgbe.c > > +# vector PMD driver needs SSE4.1 support > +ifeq ($(findstring RTE_MACHINE_CPUFLAG_SSE4_1,$(CFLAGS)),) > +CFLAGS_ixgbe_rxtx_vec_sse.o += -msse4.1 > +endif Hi Qi, What happens if runtime doesn't have SSE4.1 support? Should we add a dynamic check as done in 140e [1] ? And I am for extracting this part into another patch, to highlight what is done here. patch 1: Increase ixgbe minimum required support to SSE4.1 Patch 2: Add PTYPE support to vector PMD [1] http://dpdk.org/browse/dpdk/tree/drivers/net/i40e/i40e_rxtx_vec_sse.c#n626 > + > # install this header file > SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c > index 2083cde..3e39648 100644 > --- a/drivers/net/ixgbe/ixgbe_ethdev.c > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c > @@ -3717,6 +3717,14 @@ ixgbe_dev_supported_ptypes_get(struct rte_eth_dev *dev) > dev->rx_pkt_burst == ixgbe_recv_pkts_lro_bulk_alloc || > dev->rx_pkt_burst == ixgbe_recv_pkts_bulk_alloc) > return ptypes; > + > +#if defined(RTE_ARCH_X86_64) || \ > + defined(RTE_ARCH_X86_X32) || \ > + defined(RTE_ARCH_I686) It is possible to use single "RTE_ARCH_X86" here, to cover all three. > + if (dev->rx_pkt_burst == ixgbe_recv_pkts_vec || > + dev->rx_pkt_burst == ixgbe_recv_scattered_pkts_vec) > + return ptypes; > +#endif > return NULL; > } <...>