crypto/octeontx: increase metabuf pool
authorAnoob Joseph <anoobj@marvell.com>
Fri, 11 Jun 2021 10:21:13 +0000 (15:51 +0530)
committerAkhil Goyal <gakhil@marvell.com>
Wed, 7 Jul 2021 19:28:39 +0000 (21:28 +0200)
When used with crypto adapter, metabuf pool would be shared across
cores. Account for the same in pool size.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
drivers/crypto/octeontx/otx_cryptodev_hw_access.c

index 5229e7c..ab335c6 100644 (file)
@@ -409,7 +409,7 @@ otx_cpt_deinit_device(void *dev)
 static int
 otx_cpt_metabuf_mempool_create(const struct rte_cryptodev *dev,
                               struct cpt_instance *instance, uint8_t qp_id,
-                              int nb_elements)
+                              unsigned int nb_elements)
 {
        char mempool_name[RTE_MEMPOOL_NAMESIZE];
        struct cpt_qp_meta_info *meta_info;
@@ -417,6 +417,7 @@ otx_cpt_metabuf_mempool_create(const struct rte_cryptodev *dev,
        int max_mlen = 0;
        int sg_mlen = 0;
        int lb_mlen = 0;
+       int mb_pool_sz;
        int ret;
 
        /*
@@ -453,7 +454,9 @@ otx_cpt_metabuf_mempool_create(const struct rte_cryptodev *dev,
        snprintf(mempool_name, RTE_MEMPOOL_NAMESIZE, "otx_cpt_mb_%u:%u",
                 dev->data->dev_id, qp_id);
 
-       pool = rte_mempool_create_empty(mempool_name, nb_elements, max_mlen,
+       mb_pool_sz = RTE_MAX(nb_elements, (METABUF_POOL_CACHE_SIZE * rte_lcore_count()));
+
+       pool = rte_mempool_create_empty(mempool_name, mb_pool_sz, max_mlen,
                                        METABUF_POOL_CACHE_SIZE, 0,
                                        rte_socket_id(), 0);