Building DPDK with IOVA_AS_VA

Wu, Jingjing jingjing.wu at intel.com
Wed Dec 7 08:19:19 CET 2022


Yes, thanks for the suggestion.

> -----Original Message-----
> From: Shijith Thotton <sthotton at marvell.com>
> Sent: Wednesday, December 7, 2022 3:16 PM
> To: Wu, Jingjing <jingjing.wu at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org; Morten Brørup <mb at smartsharesystems.com>; Richardson, Bruce
> <bruce.richardson at intel.com>
> Subject: RE: Building DPDK with IOVA_AS_VA
> 
> 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 at 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
> >> >



More information about the dev mailing list