Cannot run two processes with DPDK without --file-prefix setting for eal
thorgrin opened this issue · comments
Petr Velan commented
One cannot run two processes as follows:
/usr/bin/ipfixprobe -i 'dpdk;p=0;q=1;e=ipfixprobe-eal --lcores (0-7)@(0,2,4,6,8,10,12,14,16,18,20,22) -a 0000:3b:00.0'
/usr/bin/ipfixprobe -i 'dpdk;p=0;q=1;e=ipfixprobe-eal --lcores (0-7)@(1,3,5,7,9,11,13,15,17,19,21,23) -a 0000:d8:00.0'
The second process gives this output:
EAL: Detected CPU lcores: 24
EAL: Detected NUMA nodes: 2
EAL: Detected shared linkage of DPDK
EAL: Cannot create lock on '/var/run/dpdk/rte/config'. Is another primary process running?
EAL: FATAL: Cannot init config
EAL: Cannot init config
EAL: Error - exiting with code: 1
Cause: Cannot initialize RTE_EAL: Success
This problem should be noted in the documentation.
Possible solution
I've enhanced my local ipfixprobed
script to include --file-prefix=$$
when setting up DPDK parameters. If there are no other uses for the --file-prefix
, maybe the process itself could do it so that the user does not need to concern with this issue? Of course, it needs to be documented in any case.
Setup
OS: Ubuntu 22.04 LTS
Compilation as deb package using make deb with modified dh_auto_configure
in debian/rules
Full configure params:
./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-d
ependency-tracking --with-pcap --with-quic --with-msects --with-dpdk --enable-debug