I have disabled ASLR by using:echo 0 > /proc/sys/kernel/randomize_va_space, but it doesn't work.
LS1046A is a DPAA based platform. The version of dpdk is 20.08. Does the DPAA support multiprocess?
In our project, we use multi-process of DPDK. The initialization process of primary process is as follows:
rte_eal_init-> rte_eth_dev_configure-> rte_eth_tx_queue_setup-> rte_eth_rx_queue_setup
The initialization process of secondary process is as follows: rte_eal_init. And the secondary process doesn’t execute the function of rte_eth_rx_queue_setup. When the secondary process calls the function of dpaa_eth_queue_rx. The struct qman_fq * fq->qp->config is NULL, the secondary process is down. The following result show the specific details.
#0 0x0000aaaaaae56af8 in qman_init_portal (portal=0xaaaaac826c00 <global_portals+2048>, c=0x0, cgrs=0x0) at /root/work/f-stack/dpdk/drivers/bus/dpaa/base/qbman/qman.c:531
531 p->addr.ce = c->addr_virt[DPAA_PORTAL_CE];
[Current thread is 1 (Thread 0xffffbf14e110 (LWP 10890))]
(gdb) bt
#0 0x0000aaaaaae56af8 in qman_init_portal (portal=0xaaaaac826c00 <global_portals+2048>, c=0x0, cgrs=0x0) at /root/work/f-stack/dpdk/drivers/bus/dpaa/base/qbman/qman.c:531
#1 0x0000aaaaaae5c7c4 in fsl_qman_fq_portal_init (qp=0xaaaaac826c00 <global_portals+2048>) at /root/work/f-stack/dpdk/drivers/bus/dpaa/base/qbman/qman_driver.c:205
#2 0x0000aaaaaae4cdc8 in rte_dpaa_portal_fq_init (arg=0x0, fq=0x100379e10) at /root/work/f-stack/dpdk/drivers/bus/dpaa/dpaa_bus.c:334
#3 0x0000aaaaab1acecc in dpaa_eth_queue_portal_rx (fq=0x100379e10, bufs=0xffffffffec98, nb_bufs=32) at /root/work/f-stack/dpdk/drivers/net/dpaa/dpaa_rxtx.c:584
#4 0x0000aaaaab1ad308 in dpaa_eth_queue_rx (q=0x100379e10, bufs=0xffffffffec98, nb_bufs=32) at /root/work/f-stack/dpdk/drivers/net/dpaa/dpaa_rxtx.c:671
#5 0x0000aaaaaae199ac in rte_eth_rx_burst (port_id=0, queue_id=1, rx_pkts=0xffffffffec98, nb_pkts=32) at /root/work/f-stack/dpdk/arm64-dpaa-linuxapp-gcc/include/rte_ethdev.h:4509
#6 0x0000aaaaaae25d14 in main_loop (arg=0x10023ffc0) at ff_dpdk_if.c:1631
#7 0x0000aaaaaaec32dc in rte_eal_mp_remote_launch (f=0xaaaaaae25a58 <main_loop>, arg=0x10023ffc0, call_master=CALL_MASTER) at /root/work/f-stack/dpdk/lib/librte_eal/common/eal_common_launch.c:64
#8 0x0000aaaaaae261f4 in ff_dpdk_run (loop=0xaaaaaac35e04 <ngx_worker_process_cycle_loop>, arg=0xaaaaace20050) at ff_dpdk_if.c:1716
#9 0x0000aaaaaae2709c in ff_run (loop=0xaaaaaac35e04 <ngx_worker_process_cycle_loop>, arg=0xaaaaace20050) at ff_init.c:61
#10 0x0000aaaaaac3602c in ngx_worker_process_cycle (cycle=0xaaaaace20050, data=0x1) at src/os/unix/ngx_process_cycle.c:955
#11 0x0000aaaaaac316c0 in ngx_spawn_process (cycle=0xaaaaace20050, proc=0xaaaaaac35fcc <ngx_worker_process_cycle>, data=0x1, name=0xaaaaac36feb0 "worker process", respawn=-3)
at src/os/unix/ngx_process.c:199
#12 0x0000aaaaaac34704 in ngx_start_worker_processes (cycle=0xaaaaace20050, n=4, type=-3) at src/os/unix/ngx_process_cycle.c:500
#13 0x0000aaaaaac33a28 in ngx_master_process_cycle (cycle=0xaaaaace20050) at src/os/unix/ngx_process_cycle.c:145
#14 0x0000aaaaaabe6574 in main (argc=1, argv=0xfffffffff498) at src/core/nginx.c:402