[dpdk-dev] [PATCH v1 00/15] rte_driver/device infrastructure
Thomas Monjalon
thomas.monjalon at 6wind.com
Fri Jul 15 15:19:14 CEST 2016
2016-07-08 21:09, Jan Viktorin:
> Hello,
>
> based on the discussions with Shreyansh, I propose a patchset with
> the important EAL changes. It is incomplete and I suppose to extend
> and change certain things in the foreseeable future.
>
> Important notes:
>
> * pmd_type is removed
> * introduced rte_vdev_driver inheriting rte_driver
> * PMD_REGISTER_DRIVER is replaced by RTE_EAL_VDRV_REGISTER
> * rte_driver/device integrated into rte_pci_driver/device
> * all drivers and devices are in 2 lists - general and bus-specific
>
> Shreyansh, I hope I do not duplicate your work. I tried to avoid touching
> pmd_type but it quite complicated... There is also an initial generalization
> of rte_pci_resource. More such generalizations are to be done.
>
> The init/uninit functions cannot be generalized easily, I think. Both PCI
> and VDEV have different requirements.
>
> No idea about hotplug...
Please could you give a clear overview of how you split the work in
your respective series?
I take the opportunity to put my notes about some initial targets of
this refactoring:
module/drivers
attached to 1 bus: pci_driver or vdev_driver
rte_device = device resources / embedded in pci/vdev_driver
attached to n device interfaces (ethdev, crypto)
1 device resource -> n device interfaces
hotplug resource -> lookup drivers list
per-bus lists or 1 list?
devinit/devuninit generalized and moved to rte_driver
-> rename to probe/remove
crypto.dev_type could be dropped
drv_flags should be moved to rte_driver
intr_init can be moved earlier in init, before affinity set
devices
unique_device_name -> standard naming?
difference with port_id ? -> device id for ethdev
should be unique_resource_name -> 1 EAL resource may match several devices
ethdev manage an interface, eal manage a hardware resource, device object in between?
need for bus object?
no need of driver object, module object?
devargs, intr_handle, numa_node should be moved to rte_device
hotplug notification to do
notify free-able ressource?
remove blacklist at EAL level and let application handle it
devargs still in hotplug function, must be moved in separate API
devargs
new API
new command line parameters
More information about the dev
mailing list