Skip to content

Implement SVE 8-buffer SNOW3G UEA2

Fisher Yu requested to merge sve-8buf-snow3g-uea2 into main

Following changes have be done in this patch. 1. Add job manager of snow3g uea2, this manager can schedule 8-buffer with un-uniform length and different keys. 2. Add 8-buffer implementation of underlying algorithm of snow3g, such as s1 box, s2 box, multiply alpha and divide alpha.

Compared with 4-buffer NEON implementation, the throughput
improvement on different micro-archetecutre is listed below.
  Neoverse V1 : x1.44 @ 1024 buffer-sz

We use DPDK command to calculate performance improvement.
  sudo ./build/app/dpdk-test-crypto-perf -c 0x3 --no-huge
      --vdev crypto_snow3g -- --devtype crypto_snow3g
      --ptest throughput --pool-sz 16384 --total-ops 1000000
      --burst-sz 8 --optype cipher-only --cipher-algo snow3g-uea2
      --cipher-iv-sz 16 --auth-op generate --cipher-key-sz 16
      --buffer-sz 64,128,256,512,1024 --cipher-op encrypt

Signed-off-by: fisher.yufisher.yu@arm.com Change-Id: Ic3c62ba6936eff904f3767386e97edf00a795843

Merge request reports