[dpdk-dev] app/test: fix crypto mbuf pool size

Message ID 1475840080-180796-1-git-send-email-piotrx.t.azarewicz@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Pablo de Lara Guarch
Headers

Commit Message

Piotr Azarewicz Oct. 7, 2016, 11:34 a.m. UTC
  This patch fix that created pool for crypto mbufs may be too big in some
environments.
To avoid the issue, mbuf pool is reverted to its previous size.
Moreover, here is added additional small pool with one large mbuf, what
is needed in large data test scenarios.

Fixes: 2070f885b76d ("app/test: added tests for libcrypto PMD")

Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
---
 app/test/test_cryptodev.c |   28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)
  

Comments

Fiona Trahe Oct. 10, 2016, 3:37 p.m. UTC | #1
Hi Piotr,

> -----Original Message-----
> From: Azarewicz, PiotrX T
> Sent: Friday, October 7, 2016 12:35 PM
> To: Trahe, Fiona <fiona.trahe@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH] app/test: fix crypto mbuf pool size
> 
> This patch fix that created pool for crypto mbufs may be too big in some
> environments.
> To avoid the issue, mbuf pool is reverted to its previous size.
> Moreover, here is added additional small pool with one large mbuf, what is
> needed in large data test scenarios.
> 
> Fixes: 2070f885b76d ("app/test: added tests for libcrypto PMD")
> 
> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
> ---
>  app/test/test_cryptodev.c |   28 +++++++++++++++++++++++++---
>  1 file changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index
> 2917454..914bb0b 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -60,6 +60,7 @@ static enum rte_cryptodev_type gbl_cryptodev_type;
> 
>  struct crypto_testsuite_params {
>  	struct rte_mempool *mbuf_pool;
> +	struct rte_mempool *large_mbuf_pool;
>  	struct rte_mempool *op_mpool;
>  	struct rte_cryptodev_config conf;
>  	struct rte_cryptodev_qp_conf qp_conf;
> @@ -169,7 +170,7 @@ testsuite_setup(void)
>  		/* Not already created so create */
>  		ts_params->mbuf_pool = rte_pktmbuf_pool_create(
>  				"CRYPTO_MBUFPOOL",
> -				NUM_MBUFS, MBUF_CACHE_SIZE, 0,
> UINT16_MAX,
> +				NUM_MBUFS, MBUF_CACHE_SIZE, 0,
> MBUF_SIZE,
>  				rte_socket_id());
>  		if (ts_params->mbuf_pool == NULL) {
>  			RTE_LOG(ERR, USER1, "Can't create
> CRYPTO_MBUFPOOL\n"); @@ -177,6 +178,21 @@ testsuite_setup(void)
>  		}
>  	}
> 
> +	ts_params->large_mbuf_pool = rte_mempool_lookup(
> +			"CRYPTO_LARGE_MBUFPOOL");
> +	if (ts_params->large_mbuf_pool == NULL) {
> +		/* Not already created so create */
> +		ts_params->large_mbuf_pool = rte_pktmbuf_pool_create(
> +				"CRYPTO_LARGE_MBUFPOOL",
> +				1, 0, 0, UINT16_MAX,
> +				rte_socket_id());
> +		if (ts_params->large_mbuf_pool == NULL) {
> +			RTE_LOG(ERR, USER1,
> +				"Can't create
> CRYPTO_LARGE_MBUFPOOL\n");
> +			return TEST_FAILED;
> +		}
> +	}
> +
>  	ts_params->op_mpool = rte_crypto_op_pool_create(
>  			"MBUF_CRYPTO_SYM_OP_POOL",
>  			RTE_CRYPTO_OP_TYPE_SYMMETRIC,
> @@ -5149,7 +5165,10 @@ test_AES_GMAC_authentication(const struct
> gmac_test_data *tdata)
>  	if (retval < 0)
>  		return retval;
> 
> -	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
> +	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >large_mbuf_pool);
> +	else
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >mbuf_pool);
> 
It would be safer to test if aad.len > MBUF_SIZE, here and below.


>  	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
>  			rte_pktmbuf_tailroom(ut_params->ibuf));
> @@ -5233,7 +5252,10 @@ test_AES_GMAC_authentication_verify(const
> struct gmac_test_data *tdata)
>  	if (retval < 0)
>  		return retval;
> 
> -	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
> +	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >large_mbuf_pool);
> +	else
> +		ut_params->ibuf = rte_pktmbuf_alloc(ts_params-
> >mbuf_pool);
> 
>  	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
>  			rte_pktmbuf_tailroom(ut_params->ibuf));
> --
> 1.7.9.5
  

Patch

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 2917454..914bb0b 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -60,6 +60,7 @@  static enum rte_cryptodev_type gbl_cryptodev_type;
 
 struct crypto_testsuite_params {
 	struct rte_mempool *mbuf_pool;
+	struct rte_mempool *large_mbuf_pool;
 	struct rte_mempool *op_mpool;
 	struct rte_cryptodev_config conf;
 	struct rte_cryptodev_qp_conf qp_conf;
@@ -169,7 +170,7 @@  testsuite_setup(void)
 		/* Not already created so create */
 		ts_params->mbuf_pool = rte_pktmbuf_pool_create(
 				"CRYPTO_MBUFPOOL",
-				NUM_MBUFS, MBUF_CACHE_SIZE, 0, UINT16_MAX,
+				NUM_MBUFS, MBUF_CACHE_SIZE, 0, MBUF_SIZE,
 				rte_socket_id());
 		if (ts_params->mbuf_pool == NULL) {
 			RTE_LOG(ERR, USER1, "Can't create CRYPTO_MBUFPOOL\n");
@@ -177,6 +178,21 @@  testsuite_setup(void)
 		}
 	}
 
+	ts_params->large_mbuf_pool = rte_mempool_lookup(
+			"CRYPTO_LARGE_MBUFPOOL");
+	if (ts_params->large_mbuf_pool == NULL) {
+		/* Not already created so create */
+		ts_params->large_mbuf_pool = rte_pktmbuf_pool_create(
+				"CRYPTO_LARGE_MBUFPOOL",
+				1, 0, 0, UINT16_MAX,
+				rte_socket_id());
+		if (ts_params->large_mbuf_pool == NULL) {
+			RTE_LOG(ERR, USER1,
+				"Can't create CRYPTO_LARGE_MBUFPOOL\n");
+			return TEST_FAILED;
+		}
+	}
+
 	ts_params->op_mpool = rte_crypto_op_pool_create(
 			"MBUF_CRYPTO_SYM_OP_POOL",
 			RTE_CRYPTO_OP_TYPE_SYMMETRIC,
@@ -5149,7 +5165,10 @@  test_AES_GMAC_authentication(const struct gmac_test_data *tdata)
 	if (retval < 0)
 		return retval;
 
-	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
+		ut_params->ibuf = rte_pktmbuf_alloc(ts_params->large_mbuf_pool);
+	else
+		ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
 
 	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
 			rte_pktmbuf_tailroom(ut_params->ibuf));
@@ -5233,7 +5252,10 @@  test_AES_GMAC_authentication_verify(const struct gmac_test_data *tdata)
 	if (retval < 0)
 		return retval;
 
-	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+	if (tdata->aad.len == GMAC_LARGE_PLAINTEXT_LENGTH)
+		ut_params->ibuf = rte_pktmbuf_alloc(ts_params->large_mbuf_pool);
+	else
+		ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
 
 	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
 			rte_pktmbuf_tailroom(ut_params->ibuf));