]> git.droids-corp.org - dpdk.git/commitdiff
config: set cache line as 128B for generic arm64
authorJerin Jacob <jerin.jacob@caviumnetworks.com>
Wed, 26 Apr 2017 16:29:19 +0000 (21:59 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 30 Apr 2017 21:06:23 +0000 (23:06 +0200)
armv8 implementations may have 64B or 128B cache line.
Setting to the maximum available cache line size in generic config to
address minimum DMA alignment across all arm64 implementations.

Increasing the cacheline size has no negative impact to cache invalidation
on systems with a smaller cache line.

The need for the minimum DMA alignment has impact on functional aspects
of the platform so default config should cater the functional aspects.

There is an impact on memory usage with this scheme, but that's not too
important for the single image arm64 distribution use case.

The arm64 linux kernel followed the similar approach for single
arm64 image use case.
http://lxr.free-electrons.com/source/arch/arm64/include/asm/cache.h

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
config/defconfig_arm64-armv8a-linuxapp-gcc
config/defconfig_arm64-dpaa2-linuxapp-gcc
config/defconfig_arm64-xgene1-linuxapp-gcc

index 65888cef13961bdead8f894855c9ae050f324481..9f327666e5549e1699ebffa8105c046b50d4c9e5 100644 (file)
@@ -42,6 +42,11 @@ CONFIG_RTE_FORCE_INTRINSICS=y
 CONFIG_RTE_TOOLCHAIN="gcc"
 CONFIG_RTE_TOOLCHAIN_GCC=y
 
+# Maximum available cache line size in arm64 implementations.
+# Setting to maximum available cache line size in generic config
+# to address minimum DMA alignment across all arm64 implementations.
+CONFIG_RTE_CACHE_LINE_SIZE=128
+
 CONFIG_RTE_EAL_IGB_UIO=n
 
 CONFIG_RTE_LIBRTE_FM10K_PMD=n
index 010cb80923173fd5f27421e5773386e7e5e53725..314a0eceb0c0cbaf4d3dbc875ed1a4ea786cb581 100644 (file)
@@ -41,6 +41,7 @@ CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd"
 #
 CONFIG_RTE_MAX_LCORE=8
 CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_CACHE_LINE_SIZE=64
 
 CONFIG_RTE_PKTMBUF_HEADROOM=256
 
index f096166b7240ded0ff249f6f28c2f3b430515867..d8e544728851f8e2ce3ea7296d8fea983a0cb9ee 100644 (file)
@@ -32,3 +32,4 @@
 #include "defconfig_arm64-armv8a-linuxapp-gcc"
 
 CONFIG_RTE_MACHINE="xgene1"
+CONFIG_RTE_CACHE_LINE_SIZE=64