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 15:56:26 +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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 3E6EF3576 for ; Mon, 1 Apr 2019 16:56:30 +0200 (CEST) In-Reply-To: <20190401143928.GA1441@bricha3-MOBL.ger.corp.intel.com> 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: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. [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