DPDK patches and discussions
 help / color / mirror / Atom feed
* Building DPDK with IOVA_AS_VA
@ 2022-12-06 16:58 Morten Brørup
  2022-12-06 18:55 ` Morten Brørup
  0 siblings, 1 reply; 8+ messages in thread
From: Morten Brørup @ 2022-12-06 16:58 UTC (permalink / raw)
  To: bruce.richardson; +Cc: dev, Shijith Thotton

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Building DPDK with IOVA_AS_VA
  2022-12-06 16:58 Building DPDK with IOVA_AS_VA Morten Brørup
@ 2022-12-06 18:55 ` Morten Brørup
  2022-12-07  6:51   ` Wu, Jingjing
  0 siblings, 1 reply; 8+ messages in thread
From: Morten Brørup @ 2022-12-06 18:55 UTC (permalink / raw)
  To: bruce.richardson, Jingjing Wu, Beilei Xing; +Cc: dev, Shijith Thotton

+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
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Building DPDK with IOVA_AS_VA
  2022-12-06 18:55 ` Morten Brørup
@ 2022-12-07  6:51   ` Wu, Jingjing
  2022-12-07  7:15     ` Shijith Thotton
  0 siblings, 1 reply; 8+ messages in thread
From: Wu, Jingjing @ 2022-12-07  6:51 UTC (permalink / raw)
  To: Morten Brørup, Richardson,  Bruce, Xing, Beilei; +Cc: dev, Shijith Thotton

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".

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Building DPDK with IOVA_AS_VA
  2022-12-07  6:51   ` Wu, Jingjing
@ 2022-12-07  7:15     ` Shijith Thotton
  2022-12-07  7:19       ` Wu, Jingjing
  2022-12-09  9:33       ` fengchengwen
  0 siblings, 2 replies; 8+ messages in thread
From: Shijith Thotton @ 2022-12-07  7:15 UTC (permalink / raw)
  To: Wu, Jingjing, Xing, Beilei; +Cc: dev, Morten Brørup, Bruce Richardson

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
>> >


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Building DPDK with IOVA_AS_VA
  2022-12-07  7:15     ` Shijith Thotton
@ 2022-12-07  7:19       ` Wu, Jingjing
  2022-12-09  9:33       ` fengchengwen
  1 sibling, 0 replies; 8+ messages in thread
From: Wu, Jingjing @ 2022-12-07  7:19 UTC (permalink / raw)
  To: Shijith Thotton, Xing, Beilei; +Cc: dev, Morten Brørup, Richardson, Bruce

Yes, thanks for the suggestion.

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Building DPDK with IOVA_AS_VA
  2022-12-07  7:15     ` Shijith Thotton
  2022-12-07  7:19       ` Wu, Jingjing
@ 2022-12-09  9:33       ` fengchengwen
  2023-02-19 10:01         ` Thomas Monjalon
  1 sibling, 1 reply; 8+ messages in thread
From: fengchengwen @ 2022-12-09  9:33 UTC (permalink / raw)
  To: Shijith Thotton, Wu, Jingjing, Xing, Beilei
  Cc: dev, Morten Brørup, Bruce Richardson

  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
>>>>
> 
> .
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Building DPDK with IOVA_AS_VA
  2022-12-09  9:33       ` fengchengwen
@ 2023-02-19 10:01         ` Thomas Monjalon
  2023-02-19 11:05           ` Thomas Monjalon
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2023-02-19 10:01 UTC (permalink / raw)
  To: Shijith Thotton, Wu, Jingjing, Xing, Beilei, Morten Brørup
  Cc: dev, Bruce Richardson, fengchengwen

09/12/2022 10:33, fengchengwen:
>   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

Yes there is a better plan: fix drivers/meson.build.
We must move the "continue" to skip the driver as soon as possible.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Building DPDK with IOVA_AS_VA
  2023-02-19 10:01         ` Thomas Monjalon
@ 2023-02-19 11:05           ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2023-02-19 11:05 UTC (permalink / raw)
  To: Shijith Thotton, Wu, Jingjing, Xing, Beilei, Morten Brørup
  Cc: dev, Bruce Richardson, fengchengwen, david.marchand

19/02/2023 11:01, Thomas Monjalon:
> 09/12/2022 10:33, fengchengwen:
> >   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
> 
> Yes there is a better plan: fix drivers/meson.build.
> We must move the "continue" to skip the driver as soon as possible.

Scratch that, it's a stupid idea.
The problem is generating sub-libraries inside the driver
in order to map some specific compiler options with some files.
Looks like we must disable the build inside the driver:

+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif

No need to give reason or disable build as it will be done anyway in drivers/meson.build.



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-02-19 11:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-06 16:58 Building DPDK with IOVA_AS_VA Morten Brørup
2022-12-06 18:55 ` Morten Brørup
2022-12-07  6:51   ` Wu, Jingjing
2022-12-07  7:15     ` Shijith Thotton
2022-12-07  7:19       ` Wu, Jingjing
2022-12-09  9:33       ` fengchengwen
2023-02-19 10:01         ` Thomas Monjalon
2023-02-19 11:05           ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).