On 6/10/2017 8:35 AM, Jan Blunck wrote: > On Fri, Jun 9, 2017 at 3:52 PM, Thomas Monjalon <tho...@monjalon.net> wrote: >> 26/05/2017 18:11, Ferruh Yigit: >>> Device name resides in two different locations, in rte_device->name and >>> in ethernet device private data. >> >> Yes would be nice to remove the name from rte_eth_dev_data. >> > > I wonder if this is really the right thing to do. The name in the > eth_dev data is the eth_dev device name and it might be different from > the low-level device name. Some busses might use UUID as the device > identifier and I don't believe that this is a user friendly name.
Right now eth_dev->data->name is same with with rte_dev->device->name. And there is an assumption that they will be same [1]. But if you think they can be different in the future, I think we can: 1- Keep as it is. 2- Reduce to single variable as much as possible (this patch), when different naming implemented, update relevant parts according. Since this is internal structure, I believe won't cause an ABI issue. [1] rte_eth_dev_pci_allocate() and rte_eth_vdev_allocate() use rte_dev->device->name to call rte_eth_dev_allocate(), which inside calls rte_eth_dev_allocated() with same name. Which assumes any previously created eth_dev, created with rte_dev->device->name. > >>> For now, the copy in the ethernet device private data is required for >>> multi process support, the name is the how secondary process finds about >>> primary process device. >> >> Yes it is in rte_eth_dev_attach_secondary(). >> This secondary process forces us to write ugly data structures. >> >>> But for drivers there is no reason to use the copy in the ethernet >>> device private data. >> >> Yes I agree. > > Probably. But it also depends on at what stage the driver is using the > name and what information is printed. During probing I would expect > the low-level device name to be printed. After probing the eth_dev PMD > should use the user friendly device name. This makes sense when different naming used for core device and eth_dev, but this is not the case for now. > >> There are probably other places where we can avoid using this field. >> I see rte_eth_dev_get_name_by_port() and rte_eth_dev_get_port_by_name() >> using rte_eth_dev_data[port].name. >> >>> This patch updates PMDs to use only rte_device->name. >>> >>> Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> >>