From 7976cae3b4e6dbb297d847c5821bbd6955efe97f Mon Sep 17 00:00:00 2001 From: paul luse Date: Fri, 28 Feb 2020 18:40:10 +0000 Subject: [PATCH] module/crypto: increase the number of queue pairs for AESNI_MB Default was 8 which meant max of 8 bdevs. Bump it up to 64. Fixes issue #1232 Signed-off-by: paul luse Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1063 (master) (cherry picked from commit 302f7aa6e4476e75fea622cc5729dd7aa859575b) Change-Id: I966e90de5c27910df0e4da0d1062d9d1665f8de6 Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1306 Reviewed-by: Darek Stojaczyk Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker Reviewed-by: Paul Luse Tested-by: SPDK CI Jenkins --- module/bdev/crypto/vbdev_crypto.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module/bdev/crypto/vbdev_crypto.c b/module/bdev/crypto/vbdev_crypto.c index 6c5627171..f27c42dfd 100644 --- a/module/bdev/crypto/vbdev_crypto.c +++ b/module/bdev/crypto/vbdev_crypto.c @@ -131,6 +131,7 @@ uint8_t g_number_of_claimed_volumes = 0; /* Specific to AES_CBC. */ #define AES_CBC_IV_LENGTH 16 #define AES_CBC_KEY_LENGTH 16 +#define AESNI_MB_NUM_QP 64 /* Common for suported devices. */ #define IV_OFFSET (sizeof(struct rte_crypto_op) + \ @@ -368,6 +369,7 @@ vbdev_crypto_init_crypto_drivers(void) struct device_qp *dev_qp; unsigned int max_sess_size = 0, sess_size; uint16_t num_lcores = rte_lcore_count(); + char aesni_args[32]; /* Only the first call, via RPC or module init should init the crypto drivers. */ if (g_session_mp != NULL) { @@ -375,7 +377,8 @@ vbdev_crypto_init_crypto_drivers(void) } /* We always init AESNI_MB */ - rc = rte_vdev_init(AESNI_MB, NULL); + snprintf(aesni_args, sizeof(aesni_args), "max_nb_queue_pairs=%d", AESNI_MB_NUM_QP); + rc = rte_vdev_init(AESNI_MB, aesni_args); if (rc) { SPDK_ERRLOG("error creating virtual PMD %s\n", AESNI_MB); return -EINVAL;