My DPDK application works fine when it's the primary process but crashes whenever --proc-type=secondary. The segmentation fault occurs in this call to mmap() within rte_eal_hugepage_attach():
/* * fdzero is mmapped to get a contiguous block of virtual * addresses of the appropriate memseg size. * use mmap to get identical addresses as the primary process. */ base_addr = mmap(mcfg->memseg[s].addr, mcfg->memseg[s].len, PROT_READ, MAP_PRIVATE | MAP_FIXED, fd_zero, 0); I've confirmed that addr and len match the values in rte_eal_hugepage_init() of the primary process (1 gigabyte). The target platform is a 32-bit embedded system running a Yocto distribution. I've confirmed that other applications such as mp_simple work as both primary and secondary on the same platform. The problem only occurs with a larger application to which I'm adding DPDK capabilities. Any advice on how to troubleshoot this? I've been looking at it for a week already and am running out of ideas for things to test. Thanks, Rick LaMont | The storm that I thought would blow over Dot C Software, Inc. | Clouds the light of the love that I found