Commit 12d3f49e authored by Anton Blanchard's avatar Anton Blanchard Committed by Herbert Xu

crypto: vmx - Increase priority of aes-cbc cipher

All of the VMX AES ciphers (AES, AES-CBC and AES-CTR) are set at
priority 1000. Unfortunately this means we never use AES-CBC and
AES-CTR, because the base AES-CBC cipher that is implemented on
top of AES inherits its priority.

To fix this, AES-CBC and AES-CTR have to be a higher priority. Set
them to 2000.

Testing on a POWER8 with:

cryptsetup benchmark --cipher aes --key-size 256

Shows decryption speed increase from 402.4 MB/s to 3069.2 MB/s,
over 7x faster. Thanks to Mike Strosaker for helping me debug
this issue.

Fixes: 8c755ace ("crypto: vmx - Adding CBC routines for VMX module")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 975f57fd
...@@ -182,7 +182,7 @@ struct crypto_alg p8_aes_cbc_alg = { ...@@ -182,7 +182,7 @@ struct crypto_alg p8_aes_cbc_alg = {
.cra_name = "cbc(aes)", .cra_name = "cbc(aes)",
.cra_driver_name = "p8_aes_cbc", .cra_driver_name = "p8_aes_cbc",
.cra_module = THIS_MODULE, .cra_module = THIS_MODULE,
.cra_priority = 1000, .cra_priority = 2000,
.cra_type = &crypto_blkcipher_type, .cra_type = &crypto_blkcipher_type,
.cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER | CRYPTO_ALG_NEED_FALLBACK, .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER | CRYPTO_ALG_NEED_FALLBACK,
.cra_alignmask = 0, .cra_alignmask = 0,
......
...@@ -166,7 +166,7 @@ struct crypto_alg p8_aes_ctr_alg = { ...@@ -166,7 +166,7 @@ struct crypto_alg p8_aes_ctr_alg = {
.cra_name = "ctr(aes)", .cra_name = "ctr(aes)",
.cra_driver_name = "p8_aes_ctr", .cra_driver_name = "p8_aes_ctr",
.cra_module = THIS_MODULE, .cra_module = THIS_MODULE,
.cra_priority = 1000, .cra_priority = 2000,
.cra_type = &crypto_blkcipher_type, .cra_type = &crypto_blkcipher_type,
.cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER | CRYPTO_ALG_NEED_FALLBACK, .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER | CRYPTO_ALG_NEED_FALLBACK,
.cra_alignmask = 0, .cra_alignmask = 0,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment