[dpdk-dev] secondary processes and private data

Burakov, Anatoly anatoly.burakov at intel.com
Tue Sep 25 16:20:02 CEST 2018


On 25-Sep-18 3:10 PM, Alejandro Lucero wrote:
> I've a problem when part of device private data needs to be private per 
> process.
> 
> Current multiprocess support shares device private data between primary 
> and secondaries but it is all dependent on a pointer initialized to the 
> same memory address by the multiprocess support code. If there is a 
> per-process data, If a secondary process changes it the primary gets 
> affected, and the same for additional secondaries which will affect not 
> just the primary but other previous secondaries.
> 
> The solution is to add support for this inside struct rte_eth_dev, 
> something like
> 
> void *secondary_priv_data;
> 
> so it is up to the secondaries to use this field if necessary.
> 
> NFP PMD creates the required rte_eth_devs specifically, similar to what 
> is done inside rte_ethdev.c but adding initialization for an interface 
> needed when calling device ethdev_init function. There are other PMDs 
> doing this but none has this requirement for per-process private data.
> 
> Please, let me know what you think about this change to struct 
> rte_ethdev or if you have a better idea for solving this problem.
> 
> Thanks
> 

Perhaps "private data" is a bad name for data that is shared across 
primary and secondary processes...

I don't have anything against the idea.

-- 
Thanks,
Anatoly


More information about the dev mailing list