From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 33BA9A00C2; Fri, 9 Dec 2022 10:33:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1E2E540E0F; Fri, 9 Dec 2022 10:33:57 +0100 (CET) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 673D140E03 for ; Fri, 9 Dec 2022 10:33:55 +0100 (CET) Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4NT5RK20krz15N74; Fri, 9 Dec 2022 17:33:01 +0800 (CST) Received: from [10.67.100.224] (10.67.100.224) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 9 Dec 2022 17:33:52 +0800 Subject: Re: Building DPDK with IOVA_AS_VA To: Shijith Thotton , "Wu, Jingjing" , "Xing, Beilei" CC: "dev@dpdk.org" , =?UTF-8?Q?Morten_Br=c3=b8rup?= , Bruce Richardson References: <98CBD80474FA8B44BF855DF32C47DC35D8755E@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D8755F@smartserver.smartshare.dk> From: fengchengwen Message-ID: Date: Fri, 9 Dec 2022 17:33:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.100.224] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpeml500024.china.huawei.com (7.185.36.10) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The hns3 and idpf both use static_library to build advanced vector (e.g. SVE for hns3 and AVX512 for idpf). The static-library is still compiled even the PMD is not compiled, and this lead to the compile fail problem. Although the following could solve the problem, but is there a better plan? +if dpdk_conf.get('RTE_IOVA_AS_PA') == 0 + build = false + reason = 'driver does not support disabling IOVA as PA mode' + subdir_done() +endif On 2022/12/7 15:15, Shijith Thotton wrote: > Hi Jingjing Wu/Beilei Xing. > >> I guess driver may not handle the attribute enable_iova_as_pa well right now. >> Maybe you can have a try by disabling idpf driver by adding "- >> Ddisable_drivers=net/idpf". >> > > Please send a fix. A check can be added similar to hns3 PMD. > > +if dpdk_conf.get('RTE_IOVA_AS_PA') == 0 > + build = false > + reason = 'driver does not support disabling IOVA as PA mode' > + subdir_done() > +endif > + > > Thanks, > Shijith > >>> >>> +To: Intel idpf maintainers Jingjing Wu, Beilei Xing >>> >>>> From: Morten Brørup [mailto:mb@smartsharesystems.com] >>>> Sent: Tuesday, 6 December 2022 17.58 >>>> >>>> Bruce, >>>> >>>> How do I build with IOVA_AS_VA, to benefit from Shijith Thotton's >>>> patch? (Bonus question: How do I make the CI build this way?) >>>> >>>> When I try this command: >>>> meson -Dplatform=generic -Dcheck_includes=true - >>>> Denable_iova_as_pa=false work >>>> >>>> It fails with: >>>> drivers/net/idpf/meson.build:36:8: ERROR: Unknown variable >>>> "static_rte_common_idpf". >>>> >>>> Here is the full output: >>>> >>>> The Meson build system >>>> Version: 0.60.3 >>>> Source dir: /home/morten/upstreaming/dpdk-experiment >>>> Build dir: /home/morten/upstreaming/dpdk-experiment/work >>>> Build type: native build >>>> Program cat found: YES (/usr/bin/cat) >>>> Project name: DPDK >>>> Project version: 23.03.0-rc0 >>>> C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0- >>>> 1ubuntu1~20.04.1) 9.4.0") >>>> C linker for the host machine: cc ld.bfd 2.34 >>>> Host machine cpu family: x86_64 >>>> Host machine cpu: x86_64 >>>> Message: ## Building in Developer Mode ## >>>> Program pkg-config pkgconf found: NO >>>> Program check-symbols.sh found: YES (/home/morten/upstreaming/dpdk- >>>> experiment/buildtools/check-symbols.sh) >>>> Program options-ibverbs-static.sh found: YES >>>> (/home/morten/upstreaming/dpdk-experiment/buildtools/options-ibverbs- >>>> static.sh) >>>> Program objdump found: YES (/usr/bin/objdump) >>>> Program python3 found: YES (/usr/bin/python3) >>>> Program cat found: YES (/usr/bin/cat) >>>> Program ../buildtools/symlink-drivers-solibs.sh found: YES (/bin/sh >>>> /home/morten/upstreaming/dpdk-experiment/config/../buildtools/symlink- >>>> drivers-solibs.sh) >>>> Checking for size of "void *" : 8 >>>> Checking for size of "void *" : 8 >>>> Library m found: YES >>>> Library numa found: YES >>>> Has header "numaif.h" : YES >>>> Library libfdt found: NO >>>> Library libexecinfo found: NO >>>> Did not find pkg-config by name 'pkg-config' >>>> Found Pkg-config: NO >>>> Run-time dependency libarchive found: NO (tried pkgconfig) >>>> Run-time dependency libbsd found: NO (tried pkgconfig) >>>> Run-time dependency jansson found: NO (tried pkgconfig) >>>> Run-time dependency openssl found: NO (tried pkgconfig) >>>> Run-time dependency libpcap found: NO (tried pkgconfig) >>>> Library pcap found: YES >>>> Has header "pcap.h" with dependency -lpcap: YES >>>> Compiler for C supports arguments -Wcast-qual: YES >>>> Compiler for C supports arguments -Wdeprecated: YES >>>> Compiler for C supports arguments -Wformat: YES >>>> Compiler for C supports arguments -Wformat-nonliteral: YES >>>> Compiler for C supports arguments -Wformat-security: YES >>>> Compiler for C supports arguments -Wmissing-declarations: YES >>>> Compiler for C supports arguments -Wmissing-prototypes: YES >>>> Compiler for C supports arguments -Wnested-externs: YES >>>> Compiler for C supports arguments -Wold-style-definition: YES >>>> Compiler for C supports arguments -Wpointer-arith: YES >>>> Compiler for C supports arguments -Wsign-compare: YES >>>> Compiler for C supports arguments -Wstrict-prototypes: YES >>>> Compiler for C supports arguments -Wundef: YES >>>> Compiler for C supports arguments -Wwrite-strings: YES >>>> Compiler for C supports arguments -Wno-address-of-packed-member: YES >>>> Compiler for C supports arguments -Wno-packed-not-aligned: YES >>>> Compiler for C supports arguments -Wno-missing-field-initializers: YES >>>> Compiler for C supports arguments -mavx512f: YES >>>> Checking if "AVX512 checking" : compiles: YES >>>> Fetching value of define "__SSE4_2__" : 1 >>>> Fetching value of define "__AES__" : >>>> Fetching value of define "__AVX__" : >>>> Fetching value of define "__AVX2__" : >>>> Fetching value of define "__AVX512BW__" : >>>> Fetching value of define "__AVX512CD__" : >>>> Fetching value of define "__AVX512DQ__" : >>>> Fetching value of define "__AVX512F__" : >>>> Fetching value of define "__AVX512VL__" : >>>> Fetching value of define "__PCLMUL__" : >>>> Fetching value of define "__RDRND__" : >>>> Fetching value of define "__RDSEED__" : >>>> Fetching value of define "__VPCLMULQDQ__" : >>>> Compiler for C supports arguments -Wno-format-truncation: YES >>>> Message: lib/kvargs: Defining dependency "kvargs" >>>> Message: lib/telemetry: Defining dependency "telemetry" >>>> Checking for function "getentropy" : YES >>>> Message: lib/eal: Defining dependency "eal" >>>> Message: lib/ring: Defining dependency "ring" >>>> Message: lib/rcu: Defining dependency "rcu" >>>> Message: lib/mempool: Defining dependency "mempool" >>>> Message: lib/mbuf: Defining dependency "mbuf" >>>> Fetching value of define "__PCLMUL__" : (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Compiler for C supports arguments -mpclmul: YES >>>> Compiler for C supports arguments -maes: YES >>>> Compiler for C supports arguments -mavx512f: YES (cached) >>>> Compiler for C supports arguments -mavx512bw: YES >>>> Compiler for C supports arguments -mavx512dq: YES >>>> Compiler for C supports arguments -mavx512vl: YES >>>> Compiler for C supports arguments -mvpclmulqdq: YES >>>> Compiler for C supports arguments -mavx2: YES >>>> Compiler for C supports arguments -mavx: YES >>>> Message: lib/net: Defining dependency "net" >>>> Message: lib/meter: Defining dependency "meter" >>>> Message: lib/ethdev: Defining dependency "ethdev" >>>> Message: lib/pci: Defining dependency "pci" >>>> Message: lib/cmdline: Defining dependency "cmdline" >>>> Message: lib/metrics: Defining dependency "metrics" >>>> Message: lib/hash: Defining dependency "hash" >>>> Message: lib/timer: Defining dependency "timer" >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Fetching value of define "__AVX512VL__" : (cached) >>>> Fetching value of define "__AVX512CD__" : (cached) >>>> Fetching value of define "__AVX512BW__" : (cached) >>>> Compiler for C supports arguments -mavx512f -mavx512vl -mavx512cd - >>>> mavx512bw: YES >>>> Message: lib/acl: Defining dependency "acl" >>>> Message: lib/bbdev: Defining dependency "bbdev" >>>> Message: lib/bitratestats: Defining dependency "bitratestats" >>>> Run-time dependency libelf found: NO (tried pkgconfig) >>>> lib/bpf/meson.build:36: WARNING: libelf is missing, rte_bpf_elf_load >>>> API will be disabled >>>> Message: lib/bpf: Defining dependency "bpf" >>>> Message: lib/cfgfile: Defining dependency "cfgfile" >>>> Message: lib/compressdev: Defining dependency "compressdev" >>>> Message: lib/cryptodev: Defining dependency "cryptodev" >>>> Message: lib/distributor: Defining dependency "distributor" >>>> Message: lib/efd: Defining dependency "efd" >>>> Message: lib/eventdev: Defining dependency "eventdev" >>>> Message: lib/gpudev: Defining dependency "gpudev" >>>> Message: lib/gro: Defining dependency "gro" >>>> Message: lib/gso: Defining dependency "gso" >>>> Message: lib/ip_frag: Defining dependency "ip_frag" >>>> Message: lib/jobstats: Defining dependency "jobstats" >>>> Message: lib/latencystats: Defining dependency "latencystats" >>>> Message: lib/lpm: Defining dependency "lpm" >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Fetching value of define "__AVX512DQ__" : (cached) >>>> Fetching value of define "__AVX512IFMA__" : >>>> Compiler for C supports arguments -mavx512f -mavx512dq -mavx512ifma: >>>> YES >>>> Message: lib/member: Defining dependency "member" >>>> Message: lib/pcapng: Defining dependency "pcapng" >>>> Compiler for C supports arguments -Wno-cast-qual: YES >>>> Message: lib/power: Defining dependency "power" >>>> Message: lib/rawdev: Defining dependency "rawdev" >>>> Message: lib/regexdev: Defining dependency "regexdev" >>>> Message: lib/dmadev: Defining dependency "dmadev" >>>> Message: lib/rib: Defining dependency "rib" >>>> Message: lib/reorder: Defining dependency "reorder" >>>> Message: lib/sched: Defining dependency "sched" >>>> Message: lib/security: Defining dependency "security" >>>> Message: lib/stack: Defining dependency "stack" >>>> Has header "linux/userfaultfd.h" : YES >>>> Message: lib/vhost: Defining dependency "vhost" >>>> Message: lib/ipsec: Defining dependency "ipsec" >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Fetching value of define "__AVX512DQ__" : (cached) >>>> Compiler for C supports arguments -mavx512f -mavx512dq: YES >>>> Compiler for C supports arguments -mavx512bw: YES (cached) >>>> Message: lib/fib: Defining dependency "fib" >>>> Message: lib/port: Defining dependency "port" >>>> Message: lib/pdump: Defining dependency "pdump" >>>> Message: lib/table: Defining dependency "table" >>>> Message: lib/pipeline: Defining dependency "pipeline" >>>> Message: lib/graph: Defining dependency "graph" >>>> Message: lib/node: Defining dependency "node" >>>> Compiler for C supports arguments -Wno-format-truncation: YES (cached) >>>> Compiler for C supports arguments -Wno-cast-qual: YES (cached) >>>> Compiler for C supports arguments -Wno-pointer-arith: YES >>>> Compiler for C supports arguments -Wno-pointer-to-int-cast: YES >>>> Run-time dependency libmusdk found: NO (tried pkgconfig) >>>> Compiler for C supports arguments -Wno-cast-qual: YES (cached) >>>> Compiler for C supports arguments -Wno-pointer-arith: YES (cached) >>>> Message: drivers/bus/pci: Defining dependency "bus_pci" >>>> Message: drivers/bus/vdev: Defining dependency "bus_vdev" >>>> Message: drivers/common/cnxk: Defining dependency "common_cnxk" >>>> Compiler for C supports arguments -std=c11: YES >>>> Compiler for C supports arguments -Wno-strict-prototypes: YES >>>> Compiler for C supports arguments -D_BSD_SOURCE: YES >>>> Compiler for C supports arguments -D_DEFAULT_SOURCE: YES >>>> Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES >>>> Run-time dependency libmlx5 found: NO (tried pkgconfig) >>>> Library mlx5 found: NO >>>> Configuring mlx5_autoconf.h using configuration >>>> Run-time dependency libcrypto found: NO (tried pkgconfig) >>>> Library IPSec_MB found: NO >>>> Run-time dependency libcrypto found: NO (tried pkgconfig) >>>> Compiler for C supports arguments -Wdisabled-optimization: YES >>>> Compiler for C supports arguments -Waggregate-return: YES >>>> Compiler for C supports arguments -Wbad-function-cast: YES >>>> Compiler for C supports arguments -Wno-sign-compare: YES >>>> Compiler for C supports arguments -Wno-unused-parameter: YES >>>> Compiler for C supports arguments -Wno-unused-variable: YES >>>> Compiler for C supports arguments -Wno-empty-body: YES >>>> Compiler for C supports arguments -Wno-unused-but-set-variable: YES >>>> Message: drivers/mempool/bucket: Defining dependency "mempool_bucket" >>>> Message: drivers/mempool/cnxk: Defining dependency "mempool_cnxk" >>>> Message: drivers/mempool/ring: Defining dependency "mempool_ring" >>>> Message: drivers/mempool/stack: Defining dependency "mempool_stack" >>>> Message: drivers/dma/cnxk: Defining dependency "dma_cnxk" >>>> Compiler for C supports arguments -Wno-pointer-arith: YES (cached) >>>> Compiler for C supports arguments -Wno-pointer-arith: YES (cached) >>>> Message: drivers/dma/skeleton: Defining dependency "dma_skeleton" >>>> Message: drivers/net/af_packet: Defining dependency "net_af_packet" >>>> Run-time dependency libxdp found: NO (tried pkgconfig) >>>> Run-time dependency libbpf found: NO (tried pkgconfig) >>>> Library bpf found: NO >>>> Has header "linux/if_xdp.h" : YES >>>> Run-time dependency zlib found: NO (tried pkgconfig) >>>> Compiler for C supports arguments -DSUPPORT_CFA_HW_ALL=1: YES >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Message: drivers/net/bonding: Defining dependency "net_bond" >>>> Compiler for C supports arguments -flax-vector-conversions: YES >>>> Compiler for C supports arguments -Wno-strict-aliasing: YES >>>> Message: drivers/net/cnxk: Defining dependency "net_cnxk" >>>> Compiler for C supports arguments -Wno-pointer-arith: YES (cached) >>>> Compiler for C supports arguments -Wno-uninitialized: YES >>>> Compiler for C supports arguments -Wno-unused-parameter: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-variable: YES (cached) >>>> Compiler for C supports arguments -Wno-misleading-indentation: YES >>>> Compiler for C supports arguments -Wno-implicit-fallthrough: YES >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Message: drivers/net/failsafe: Defining dependency "net_failsafe" >>>> Compiler for C supports arguments -Wno-unused-parameter: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-value: YES >>>> Compiler for C supports arguments -Wno-strict-aliasing: YES (cached) >>>> Compiler for C supports arguments -Wno-format-extra-args: YES >>>> Compiler for C supports arguments -Wno-unused-variable: YES (cached) >>>> Compiler for C supports arguments -Wno-implicit-fallthrough: YES >>>> (cached) >>>> Compiler for C supports arguments -Wno-sign-compare: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-value: YES (cached) >>>> Compiler for C supports arguments -Wno-format: YES >>>> Compiler for C supports arguments -Wno-format-security: YES >>>> Compiler for C supports arguments -Wno-format-nonliteral: YES >>>> Compiler for C supports arguments -Wno-strict-aliasing: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-but-set-variable: YES >>>> (cached) >>>> Compiler for C supports arguments -Wno-unused-parameter: YES (cached) >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Compiler for C supports arguments -mavx512f: YES (cached) >>>> Compiler for C supports arguments -mavx512bw: YES (cached) >>>> Compiler for C supports arguments -march=skylake-avx512: YES >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Compiler for C supports arguments -mavx512f: YES (cached) >>>> Compiler for C supports arguments -mavx512bw: YES (cached) >>>> Compiler for C supports arguments -march=skylake-avx512: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-value: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-but-set-variable: YES >>>> (cached) >>>> Compiler for C supports arguments -Wno-unused-variable: YES (cached) >>>> Compiler for C supports arguments -Wno-unused-parameter: YES (cached) >>>> Fetching value of define "__AVX2__" : (cached) >>>> Compiler for C supports arguments -mavx2: YES (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Compiler for C supports arguments -mavx512f: YES (cached) >>>> Compiler for C supports arguments -mavx512bw: YES (cached) >>>> Compiler for C supports arguments -march=skylake-avx512: YES (cached) >>>> Fetching value of define "__AVX512F__" : (cached) >>>> Compiler for C supports arguments -mavx512f: YES (cached) >>>> Compiler for C supports arguments -mavx512bw: YES (cached) >>>> Compiler for C supports arguments -march=skylake-avx512: YES (cached) >>>> >>>> drivers/net/idpf/meson.build:36:8: ERROR: Unknown variable >>>> "static_rte_common_idpf". >>>> >>>> A full log can be found at /home/morten/upstreaming/dpdk- >>>> experiment/work/meson-logs/meson-log.txt >>>> >>>> >>>> Med venlig hilsen / Kind regards, >>>> -Morten Brørup >>>> > > . >