[dpdk-dev] [PATCH v8 03/19] ethdev: enable hotplug on multi-process

Thomas Monjalon thomas at monjalon.net
Wed Jul 4 00:35:50 CEST 2018


03/07/2018 23:57, Thomas Monjalon:
> 03/07/2018 17:03, Zhang, Qi Z:
> > From: Thomas Monjalon [mailto:thomas at monjalon.net]
> > > 03/07/2018 14:59, Zhang, Qi Z:
> > > > > > +do_eth_dev_attach(const char *devargs, uint16_t *port_id);
> > > > >
> > > > > So you are duplicating rte_eth_dev_attach which is flawed in its
> > > > > design and should be deprecated...
> > > >
> > > > OK, just to know this, but I guess it will not be the issue, if we move the dev
> > > sync mechanism into eal layer in future right?
> > > 
> > > Future is now :)
> > > We must stop mixing devargs and port id in the same layer.
> > 
> > Ok, is there any RFC I can learn?
> 
> RFC for what?
> It is just a design issue that we must stop propagating.

Please read at this commit, which is 2 years old:
	http://git.dpdk.org/dpdk/commit/?id=b0fb26685570
It was starting to fix early design mistakes, but unfortunately it is not
yet totally fixed today.

> > > > > As you may have noticed, rte_eth_dev_attach() is calling
> > > > > rte_eal_hotplug_add() which manages the EAL device.
> > > > > It is wrong because the relation between an ethdev port and an EAL
> > > > > device is not a 1:1 mapping.
> > > > > We must manage the ethdev port as one of the possible abstractions
> > > > > of a device represented by rte_device.





More information about the dev mailing list