Re: [PATCH v8 03/19] ethdev: enable hotplug on multi-process
From: Thomas Monjalon <hidden>
Date: 2018-07-03 22:35:53
03/07/2018 23:57, Thomas Monjalon:
03/07/2018 17:03, Zhang, Qi Z:quoted
From: Thomas Monjalon [mailto:thomas@monjalon.net]quoted
03/07/2018 14:59, Zhang, Qi Z:quoted
quoted
quoted
+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 devsync 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.
quoted
quoted
quoted
quoted
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.