From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v7 0/8] Support vector instructions on ICE Date: Mon, 1 Apr 2019 16:09:36 +0100 Message-ID: References: <1551340136-83843-1-git-send-email-wenzhuo.lu@intel.com> <1553581011-94181-1-git-send-email-wenzhuo.lu@intel.com> <079356fb-7de6-b091-3266-56e04b05b2e8@intel.com> <2061322.Qldrv329ue@xps> <1af99378-b51a-fe64-6bba-7b8dd5f67e07@intel.com> <20190401143928.GA1441@bricha3-MOBL.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Thomas Monjalon , Wenzhuo Lu , Qi Zhang , dev@dpdk.org, cathal.ohare@intel.com, john.mcnamara@intel.com To: Bruce Richardson Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id A6759378E for ; Mon, 1 Apr 2019 17:09:39 +0200 (CEST) In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 4/1/2019 3:56 PM, Ferruh Yigit wrote: > On 4/1/2019 3:39 PM, Bruce Richardson wrote: >> On Mon, Apr 01, 2019 at 01:51:38PM +0100, Ferruh Yigit wrote: >>> On 3/31/2019 4:52 PM, Thomas Monjalon wrote: >>>> 26/03/2019 10:50, Ferruh Yigit: >>>>>> Wenzhuo Lu (8): >>>>>> net/ice: fix Tx function setting >>>>>> net/ice: add pointer for queue buffer release >>>>>> net/ice: support vector SSE in RX >>>>>> net/ice: support Rx scatter SSE vector >>>>>> net/ice: support Tx SSE vector >>>>>> net/ice: support Rx AVX2 vector >>>>>> net/ice: support Rx scatter AVX2 vector >>>>>> net/ice: support vector AVX2 in TX >>>>> >>>>> This version (v7) pulled from next-net-intel to next-net. >>>> >>>> I assume these patches have been tested, or at least compiled. >>>> However, when running devtools/test-meson-builds.sh, there is a >>>> compilation error for build-x86-default: >>>> >>>> In file included from ../drivers/net/ice/ice_ethdev.h:10: >>>> rte_ethdev_pci.h:38:10: fatal error: 'rte_pci.h' file not found >>> >>> I tested this with meson but not able to catch the issue. Perhaps for my case >>> dependencies were build fast enough to cause a problem. >>> >> >> That should be a problem with the meson builds. While with make builds, the >> headers files are picked up after they are copied to the "include" >> directory by the build process, in meson no such copying occurs and the >> header files are picked up by having the paths to them passed in the >> "dependency object" to each build. If the dependency does not exist then >> the build will never pass, irrespective of ordering, and if the dependency >> exists, the build will always find the header in its original location. > > I was checking this and recognized that no copying is happening. And I can see > many PMDs are using this header [1], not sure why ice is failing. > >> >> [The biggest benefit of this is that when building with ninja there are no >> dependencies between the individual .c files - each one can be compiled >> in parallel with all the others. It's only at the linking step that we need >> to wait for previous jobs to complete] >> >> In terms of this specific error with the header - did it get root caused? >> Since it occurs on the "default" path, I'd suggest the fallback handling in >> the meson.build file for the absense of AVX may be faulty, e.g. are you >> replacing c flags or dependencies rather than appending to them? > > Trying to find out the root cause, but as you said it occurs on the 'default' > path only, and taking into account that there is not copying dependent headers, > I am not able to find it yet, checking. This is meson fallback handling as Bruce guessed ... > > [1] > $ git grep rte_ethdev_pci.h > > > > drivers/net/ark/ark_ethdev.c:#include > drivers/net/atlantic/atl_ethdev.c:#include > drivers/net/avp/avp_ethdev.c:#include > drivers/net/axgbe/axgbe_common.h:#include > drivers/net/bnx2x/bnx2x_ethdev.c:#include > drivers/net/bnxt/bnxt_ethdev.c:#include > drivers/net/cxgbe/cxgbe_ethdev.c:#include > drivers/net/cxgbe/cxgbe_main.c:#include > drivers/net/cxgbe/cxgbevf_ethdev.c:#include > drivers/net/cxgbe/cxgbevf_main.c:#include > drivers/net/e1000/em_ethdev.c:#include > drivers/net/e1000/igb_ethdev.c:#include > drivers/net/e1000/igb_flow.c:#include > drivers/net/ena/ena_ethdev.c:#include > drivers/net/enetc/enetc_ethdev.c:#include > drivers/net/enic/enic_ethdev.c:#include > drivers/net/fm10k/fm10k_ethdev.c:#include > drivers/net/i40e/i40e_ethdev.c:#include > drivers/net/i40e/i40e_ethdev_vf.c:#include > drivers/net/iavf/iavf_ethdev.c:#include > drivers/net/ice/ice_ethdev.c:#include > drivers/net/ixgbe/ixgbe_ethdev.c:#include > drivers/net/ixgbe/ixgbe_ipsec.c:#include > drivers/net/liquidio/lio_ethdev.c:#include > drivers/net/mlx4/mlx4.c:#include > drivers/net/mlx5/mlx5.c:#include > drivers/net/nfp/nfp_net.c:#include > drivers/net/nfp/nfpcore/nfp_cpp.h:#include > drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c:#include > drivers/net/nfp/nfpcore/nfp_cppcore.c:#include > drivers/net/qede/qede_ethdev.h:#include > drivers/net/sfc/sfc_ethdev.c:#include > drivers/net/szedata2/rte_eth_szedata2.c:#include > drivers/net/thunderx/nicvf_ethdev.c:#include > drivers/net/virtio/virtio_ethdev.c:#include > drivers/net/vmxnet3/vmxnet3_ethdev.c:#include >