when we run dpdk in docker, process pid may the same.
add rte_rdtsc() to ensure all the names used in rte_fbarray_init
are different.

Signed-off-by: Li Han <han....@zte.com.cn>
---
 lib/librte_eal/linux/eal/eal_memalloc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c 
b/lib/librte_eal/linux/eal/eal_memalloc.c
index af6d0d0..65a7183 100644
--- a/lib/librte_eal/linux/eal/eal_memalloc.c
+++ b/lib/librte_eal/linux/eal/eal_memalloc.c
@@ -1374,8 +1374,8 @@ struct rte_memseg *
        local_msl = &local_memsegs[msl_idx];
 
        /* create distinct fbarrays for each secondary */
-       snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i",
-               primary_msl->memseg_arr.name, getpid());
+       snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i_%"PRIx64,
+               primary_msl->memseg_arr.name, getpid(), rte_rdtsc());
 
        ret = rte_fbarray_init(&local_msl->memseg_arr, name,
                primary_msl->memseg_arr.len,
-- 
1.8.3.1

Reply via email to