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