- This patch set has the changes required for optimised hash library usage in arm64 perspective - Tested on Juno and Thunderx boards - Tested and verified the changes with following DPDK unit test cases hash_functions_autotest hash_autotest hash_perf_autotest hash_scaling_autotes - Created the new xgene1 machine target to address the difference in optional armv8-a CRC extension availability compared to default armv8-a machine target(enabled CRC extension by default) - Supersededs the [dpdk-dev] [PATCH] hash: replace libc memcmp with optimized memory compare functions for arm64 patch
Jerin Jacob (4): hash: replace libc memcmp with optimized memory compare functions for arm64 hash: implement rte_hash_crc_* based on armv8-a CRC32 instructions hash: select hash function as CRC if armv8-a CRC extension available mk: add xgene1 machine target based on armv8-a app/test/test_hash.c | 7 ++ config/defconfig_arm64-xgene1-linuxapp-gcc | 56 +++++++++++ lib/librte_hash/Makefile | 3 + lib/librte_hash/rte_cmp_arm64.h | 114 ++++++++++++++++++++++ lib/librte_hash/rte_crc_arm64.h | 151 +++++++++++++++++++++++++++++ lib/librte_hash/rte_cuckoo_hash.c | 9 +- lib/librte_hash/rte_fbk_hash.h | 2 +- lib/librte_hash/rte_hash_crc.h | 7 ++ mk/machine/armv8a/rte.vars.mk | 2 +- mk/machine/thunderx/rte.vars.mk | 2 +- mk/machine/xgene1/rte.vars.mk | 58 +++++++++++ mk/rte.cpuflags.mk | 4 + mk/toolchain/gcc/rte.toolchain-compat.mk | 6 +- 13 files changed, 415 insertions(+), 6 deletions(-) create mode 100644 config/defconfig_arm64-xgene1-linuxapp-gcc create mode 100644 lib/librte_hash/rte_cmp_arm64.h create mode 100644 lib/librte_hash/rte_crc_arm64.h create mode 100644 mk/machine/xgene1/rte.vars.mk -- 2.1.0