[dpdk-dev] secondary processes and private data

Alejandro Lucero alejandro.lucero at netronome.com
Wed Sep 26 10:18:02 CEST 2018


On Tue, Sep 25, 2018 at 3:20 PM Burakov, Anatoly <anatoly.burakov at intel.com>
wrote:

> 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.
>
>
I will add some comments in the struct for leaving it cleat private applies
to device but not process. It will make easier to understand the new field.

Thanks



> --
> Thanks,
> Anatoly
>


More information about the dev mailing list