From: Qi Zhang <qi.z.zhang@intel.com>
To: mb@smartsharesystems.com, bruce.richardson@intel.com,
wenzhuo.lu@intel.com
Cc: dev@dpdk.org, wenjun1.wu@intel.com,
Qi Zhang <qi.z.zhang@intel.com>,
stable@dpdk.org
Subject: [PATCH v2] net: not build PMD AVX library when no IOVA as PA
Date: Mon, 12 Dec 2022 09:52:01 -0500 [thread overview]
Message-ID: <20221212145201.1142014-1-qi.z.zhang@intel.com> (raw)
In-Reply-To: <20221212121711.857866-1-qi.z.zhang@intel.com>
PMD not announce pmd_supports_disable_iova_as_pa will not be build
when RTE_IOVA_AS_PA is not defined, but some AVX library for vector
path is not skipped by the build system which cause compile error.
The patch modify i40e, iavf, ice's meson file to skip AVX library
build when RTE_IOVA_AS_PA is not defined.
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/meson.build | 5 +++--
drivers/net/iavf/meson.build | 5 +++--
drivers/net/ice/meson.build | 5 +++--
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index e00c1a9ef9..ac8a4bd3f8 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -37,6 +37,7 @@ testpmd_sources = files('i40e_testpmd.c')
deps += ['hash']
includes += include_directories('base')
+iova_as_pa = dpdk_conf.get('RTE_IOVA_AS_PA')
if arch_subdir == 'x86'
sources += files('i40e_rxtx_vec_sse.c')
@@ -51,7 +52,7 @@ if arch_subdir == 'x86'
if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT']
sources += files('i40e_rxtx_vec_avx2.c')
- elif cc.has_argument('-mavx2')
+ elif iova_as_pa == 1 and cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT']
i40e_avx2_lib = static_library('i40e_avx2_lib',
'i40e_rxtx_vec_avx2.c',
@@ -71,7 +72,7 @@ if arch_subdir == 'x86'
cc.has_argument('-mavx512f') and
cc.has_argument('-mavx512bw'))
- if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
+ if iova_as_pa == 1 and (i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true)
cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512')
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index 6df771f917..37968200c1 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -6,6 +6,7 @@ cflags += ['-Wno-strict-aliasing']
includes += include_directories('../../common/iavf')
deps += ['common_iavf', 'security', 'cryptodev']
+iova_as_pa = dpdk_conf.get('RTE_IOVA_AS_PA')
sources = files(
'iavf_ethdev.c',
@@ -32,7 +33,7 @@ if arch_subdir == 'x86'
if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT']
sources += files('iavf_rxtx_vec_avx2.c')
- elif cc.has_argument('-mavx2')
+ elif iova_as_pa == 1 and cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT']
iavf_avx2_lib = static_library('iavf_avx2_lib',
'iavf_rxtx_vec_avx2.c',
@@ -52,7 +53,7 @@ if arch_subdir == 'x86'
cc.has_argument('-mavx512f') and
cc.has_argument('-mavx512bw'))
- if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
+ if iova_as_pa == 1 and (iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true)
cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512')
diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
index 528e77613e..8efa533e0b 100644
--- a/drivers/net/ice/meson.build
+++ b/drivers/net/ice/meson.build
@@ -20,6 +20,7 @@ testpmd_sources = files('ice_testpmd.c')
deps += ['hash', 'net', 'common_iavf']
includes += include_directories('base', '../../common/iavf')
+iova_as_pa = dpdk_conf.get('RTE_IOVA_AS_PA')
if arch_subdir == 'x86'
sources += files('ice_rxtx_vec_sse.c')
@@ -34,7 +35,7 @@ if arch_subdir == 'x86'
if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT']
sources += files('ice_rxtx_vec_avx2.c')
- elif cc.has_argument('-mavx2')
+ elif iova_as_pa == 1 and cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT']
ice_avx2_lib = static_library('ice_avx2_lib',
'ice_rxtx_vec_avx2.c',
@@ -55,7 +56,7 @@ if arch_subdir == 'x86'
cc.has_argument('-mavx512bw')
)
- if ice_avx512_cpu_support == true or ice_avx512_cc_support == true
+ if iova_as_pa == 1 and (ice_avx512_cpu_support == true or ice_avx512_cc_support == true)
cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512')
--
2.31.1
next prev parent reply other threads:[~2022-12-12 6:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-12 12:17 [PATCH] net: not compile " Qi Zhang
2022-12-12 14:52 ` Qi Zhang [this message]
2022-12-12 14:55 ` [PATCH v2] net: not build " Qi Zhang
2023-01-29 12:35 ` Zhang, Qi Z
2023-02-19 10:04 ` Thomas Monjalon
2023-02-19 11:08 ` Thomas Monjalon
2023-02-19 12:01 ` Thomas Monjalon
2023-03-02 13:34 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221212145201.1142014-1-qi.z.zhang@intel.com \
--to=qi.z.zhang@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=mb@smartsharesystems.com \
--cc=stable@dpdk.org \
--cc=wenjun1.wu@intel.com \
--cc=wenzhuo.lu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).