Acl build process uses significant amount of memory
which degrades performance by causing page walks when memory
is allocated on regular heap using libc calloc.

This commit changes tb_mem to allocate temporary memory on huge pages
with rte_calloc.

Signed-off-by: Vladyslav Buslov <vladyslav.buslov at harmonicinc.com>
---
 lib/librte_acl/tb_mem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_acl/tb_mem.c b/lib/librte_acl/tb_mem.c
index 157e608..c373673 100644
--- a/lib/librte_acl/tb_mem.c
+++ b/lib/librte_acl/tb_mem.c
@@ -52,7 +52,7 @@ tb_pool(struct tb_mem_pool *pool, size_t sz)
        size_t size;

        size = sz + pool->alignment - 1;
-       block = calloc(1, size + sizeof(*pool->block));
+       block = rte_calloc("ACL_TBMEM_BLOCK", 1, size + sizeof(*pool->block), 
0);
        if (block == NULL) {
                RTE_LOG(ERR, MALLOC, "%s(%zu)\n failed, currently allocated "
                        "by pool: %zu bytes\n", __func__, sz, pool->alloc);
-- 
2.8.3

Reply via email to