Add crypto_ia32 plugin 45/18645/9
authorDamjan Marion <damarion@cisco.com>
Tue, 2 Apr 2019 17:06:50 +0000 (19:06 +0200)
committerNeale Ranns <nranns@cisco.com>
Thu, 4 Apr 2019 09:25:51 +0000 (09:25 +0000)
commitdeb8af6eb71f9ad951137ee6e84e971c3ab23ec4
tree3a8aeaaf2f1c5efa987ec209040842e06c0aa7c3
parent8ea109e40a65c1d7696162fa3d4c1e386b6c9414
Add crypto_ia32 plugin

Currently this plugin provies AES CBC optimized code. Encryption code
supports parallel encryption of 4 buffers with different size and key
which improves performance 4x compared to standard serialized aproach.

On Skylake Server measured performance is around 0.71 clocks/byte with
256 buffers with size in range between 7000 and 8000 bytes.
Measured performance includes overhead of processing crypto ops.

Change-Id: I5ec2afee708fcdf16a4234926534dd64ff1155c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/plugins/crypto_ia32/CMakeLists.txt [new file with mode: 0644]
src/plugins/crypto_ia32/aes_cbc.c [new file with mode: 0644]
src/plugins/crypto_ia32/aesni.h [new file with mode: 0644]
src/plugins/crypto_ia32/crypto_ia32.h [new file with mode: 0644]
src/plugins/crypto_ia32/main.c [new file with mode: 0644]