[dpdk-dev] [PATCH v4] crypto/aesni_gcm: migration from MB library to ISA-L

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Jan 5 16:12:26 CET 2017


2017-01-05 14:51, Piotr Azarewicz:
> Current Cryptodev AES-NI GCM PMD is implemented using Multi Buffer
> Crypto library.This patch reimplement the device using ISA-L Crypto
> library: https://github.com/01org/isa-l_crypto.
> 
> The migration entailed the following additional support for:
>   * GMAC algorithm.
>   * 256-bit cipher key.
>   * Session-less mode.
>   * Out-of place processing
>   * Scatter-gatter support for chained mbufs (only out-of place and
>     destination mbuf must be contiguous)
> 
> Verified current unit tests and added new unit tests to verify new
> functionalities.
> 
> PERFORMANCE COMPARISON
> ----------------------
> Comparison the new and old implementation is made by running app/test
> and calling cryptodev_aesni_gcm_perftest.
> As we may see below, the new implementation has small performance drop
> when buffer size is above 64B.

I am a bit surprised that you change for lower performance.
I understand that it brings new features.
Is it possible to add such features without performance impact?


> Old implementation with MB library:
> Cipher algo: AES_GCM Cipher hash: AES_GCM ciphr key: 128b burst size: 32
> Buffer Size(B)  OPS(M)  Throughput(Gbps)         Retries      EmptyPolls
> 64                4.57              2.34               0               0
> 128               4.28              4.39               0               0
> 256               2.76              5.66               0               0
> 512               1.60              6.56               0               0
> 1024              0.90              7.34               0               0
> 1536              0.62              7.66               0               0
> 2048              0.48              7.84               0               0
> 
> New implementation with ISA-L library:
> Cipher algo: AES_GCM Cipher hash: AES_GCM ciphr key: 128b burst size: 32
> Buffer Size(B)  OPS(M)  Throughput(Gbps)         Retries      EmptyPolls
> 64                4.62              2.37               0               0
> 128               4.06              4.16               0               0
> 256               2.65              5.44               0               0
> 512               1.57              6.45               0               0
> 1024              0.89              7.26               0               0
> 1536              0.62              7.58               0               0
> 2048              0.47              7.77               0               0
> 




More information about the dev mailing list