[dpdk-dev] Issues on FDIR and multi-processes

Richardson, Bruce bruce.richardson at intel.com
Wed Apr 2 17:33:09 CEST 2014


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Mauro Annarumma
> Sent: Wednesday, April 02, 2014 4:02 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Issues on FDIR and multi-processes
> 
> Hi everyone,
> we are working with Flow DIRector on a multiprocess application. This application consists of N secondary processes, 
> each one receiving packets directly from its own queue on the NIC. It works fine when each secondary process runs on
> a different CPU core; instead, if we try to run two secondary processes on the same CPU core, these processes aren't 
> able to read from their respectively queue.

Running two co-operating Intel DPDK processes on the same lcore is not a supported configuration of Intel DPDK multiprocess. [Please see section 20.3 of the Intel DPDK Programmer's Guide document, which lists out some limitations of multi-process support]. Basically, each process in a multiprocess configuration is equivalent to a thread in a normal application deployment, so just as having two threads on the same core causes problems with mempools and other objects which use an "lcore_id" value unique in each thread to work correctly, so running two processes on the same lcore can cause exactly the same issues. 
If you really do want to use this model and have multiple threads on the same lcore, at minimum you need to ensure that each thread/process has a unique lcore_id value <= RTE_MAX_LCORE.

/Bruce


More information about the dev mailing list