[dpdk-dev] [PATCH] app/test: fix crypto mbuf pool size
Trahe, Fiona
fiona.trahe at intel.com
Mon Oct 10 17:37:25 CEST 2016
Hi Piotr,
> -----Original Message-----
> From: Azarewicz, PiotrX T
> Sent: Friday, October 7, 2016 12:35 PM
> To: Trahe, Fiona <fiona.trahe at intel.com>
> Cc: dev at 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 at 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
More information about the dev
mailing list