Thread (146 messages) 146 messages, 7 authors, 2017-04-14

Re: [PATCH v6 5/8] eal: introduce bus scan and probe in EAL

From: Thomas Monjalon <hidden>
Date: 2017-01-17 23:04:38

2017-01-17 10:33, Shreyansh Jain:
On Tuesday 17 January 2017 01:28 AM, Ferruh Yigit wrote:
quoted
On 1/16/2017 3:38 PM, Shreyansh Jain wrote:
quoted
+/* Add a PCI device to PCI Bus */
+void
+rte_eal_pci_add_device(struct rte_pci_bus *pci_bus,
+                   struct rte_pci_device *pci_dev)
I think more generic approach from previous version was better
(rte_eal_bus_add_device()), but I guess they sacrificed for less
modification.
There was a lot of offline discussions after the reviews were posted 
until v5. From the gist of it, I gathered that smaller 'specific' 
changes are preferred as compared to complete generic approach without 
an upfront usecase.
Yes I discussed (a lot) this approach with Shreyansh.
Also, this change became irrelevant once I moved out the device/driver 
lists from rte_bus to rte_xxx_bus. This is inline with existing model of 
(rte_pci_device->rte_device, rte_pci_driver->rte_driver, 
rte_pci_bus->rte_bus) and having pci_device_list/pci_driver_list private 
to PCI itself.

I guess what is going to happen is that in near future when buses start 
moving to drivers/bus/*, this kind of generic layer would come in.
I think there will be no use case requiring a unique list of all rte_device(s).
Being generic and wrapping stuff with abstract classes is not always a benefit.
That's why, this version is more focused on specialized objects.

Experience with this layering will tell us wether it is a good design or not.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help