On Tue, Sep 25, 2018 at 3:20 PM Burakov, Anatoly <anatoly.bura...@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 >