[dpdk-dev] [PATCH 0/4] optimize and use armv8 CRC extensions for hash library

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Nov 23 19:45:34 CET 2015


- 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



More information about the dev mailing list