In config/arm64_armv8_linuxapp_gcc, maximum available cache line size
(128B) in arm64 implementations is set by default for generic config.
However, setting 64B is preferable for meson build in order to support
majority of CPUs which don't have Implementor ID or Part Number programmed
on chip.

Signed-off-by: Yongseok Koh <ys...@mellanox.com>
---

Discussion on the mailing list:
    https://mails.dpdk.org/archives/dev/2019-January/122441.html

 config/arm/meson.build | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index dae55d6b26..3af256a5ec 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -47,8 +47,7 @@ flags_common_default = [
 flags_generic = [
        ['RTE_MACHINE', '"armv8a"'],
        ['RTE_MAX_LCORE', 256],
-       ['RTE_USE_C11_MEM_MODEL', true],
-       ['RTE_CACHE_LINE_SIZE', 128]]
+       ['RTE_USE_C11_MEM_MODEL', true]]
 flags_cavium = [
        ['RTE_MACHINE', '"thunderx"'],
        ['RTE_CACHE_LINE_SIZE', 128],
@@ -89,15 +88,19 @@ impl_dpaa2 = ['NXP DPAA2', flags_dpaa2, 
machine_args_generic]
 
 dpdk_conf.set('RTE_FORCE_INTRINSICS', 1)
 
+# In config/arm64_armv8_linuxapp_gcc, maximum available cache line size (128B)
+# in arm64 implementations is set by default for generic config. However,
+# setting 64B is preferable for meson build in order to support majority of 
CPUs
+# which don't have Implementor ID or Part Number programmed on chip.
+dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
+
 if cc.sizeof('void *') != 8
-       dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
        dpdk_conf.set('RTE_ARCH_ARM', 1)
        dpdk_conf.set('RTE_ARCH_ARMv7', 1)
        # the minimum architecture supported, armv7-a, needs the following,
        # mk/machine/armv7a/rte.vars.mk sets it too
        machine_args += '-mfpu=neon'
 else
-       dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
        dpdk_conf.set('RTE_ARCH_ARM64', 1)
        dpdk_conf.set('RTE_ARCH_64', 1)
 
-- 
2.11.0

Reply via email to