LX2160ARDB Cryptographic Functions Benchmark

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LX2160ARDB Cryptographic Functions Benchmark

1,170 Views
lucasgm
Contributor II

Hello,

I've just acquired an LX2160ARDB and I'd like to run a benchmark of the cryptographic functions (mainly AES encryption and RSA signatures) provided by the LX2160A processor. I already have the LSDK OS installed (via flex-installer).

I tried to benchmark using the cryptodev driver + openssl (speed and tls server) and also with cryptodev test binaries (the ones inside the cryptodev source code). However, all tests report a lower performance than the tests performed without the cryptodev driver.

Is there any reason why I'm getting these results? Is there another (easy) way to run this benchmark with the LSDK?

Best regards,

0 Kudos
5 Replies

1,134 Views
lucasgm
Contributor II

Thanks for the help, yipingwang.

I just run the tests, but I'm still getting the poor results (see attached file).

All caam drivers report a similar performance ~200MBs.

There is a ce driver that is reporting up to 1.2GBs (better, but still pretty slow if I want to use the LX2160ARDB 10, 25 or 40 Gbs interface).

Any other option to get the max throughput? 

Best regards,

0 Kudos

1,123 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please configure Linux Kernel as the following.

root@localhost:~# zcat /proc/config.gz | grep -i CONFIG_CRYPTO_TEST
CONFIG_CRYPTO_TEST=m
root@localhost:~# zcat /proc/config.gz | grep -i caam
CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
CONFIG_CRYPTO_DEV_FSL_CAAM=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
# CONFIG_CRYPTO_DEV_FSL_CAAM_JR is not set
CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=y
0 Kudos

1,114 Views
lucasgm
Contributor II

I have all these flags set and some more. Should I disable something? Or maybe enable CAAM_DMA?

 

user@localhost:~$ zcat /proc/config.gz | grep -i CONFIG_CRYPTO_TEST 
CONFIG_CRYPTO_TEST=m 
user@localhost:~$ zcat /proc/config.gz | grep -i caam 
# CONFIG_CRYPTO_DEV_FSL_CAAM_DMA is not set 
CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y 
CONFIG_CRYPTO_DEV_FSL_CAAM=y 
# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set 
CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 
# CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set 
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y 
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y 
# CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API is not set 
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set 
CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m 
CONFIG_CRYPTO_DEV_FSL_CAAM_JR_UIO=y
CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=y

 

0 Kudos

1,105 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please disable CONFIG_CRYPTO_DEV_FSL_CAAM_JR in your Linux Kernel configuration file.

Please refer to my attached Kernel configuration file.

Please go to folder flexbuild_lsdk2012/build/linux/linux/arm64/LS/output/LSDK-20.12-V5.4/, save the attached file as .config, run "make ARCH=arm64 menuconfig".

Go back to folder flexbuild_lsdk2012 to rebuild Linux Kernel with the following command.

$ flex-builder -c linux -a arm64

0 Kudos

1,160 Views
yipingwang
NXP TechSupport
NXP TechSupport

The driver's capabilities can also be tested with tcrypt testing framework
available in linux kernel by selecting "Cryptographic API -> Testing module" (also Disable run-time self tests should be unchecked). A kernel module will be generated: crypto/tcrypt.ko. This has to be copied on the target. Then on target, after a dpseci object is registered:
$ insmod tcrypt.ko mode=10

Please refer to the attached test log.

For details, please refer to section "How to test the driver" in page 859 of LSDK 2012 user manual.

0 Kudos