Thread (15 messages) 15 messages, 6 authors, 2017-01-18

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

From: Thomas Monjalon <hidden>
Date: 2017-01-05 15:12:28

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help