On 20/04/16 13:41, Jan Viktorin wrote: > On Wed, 20 Apr 2016 13:05:24 +0100 > Bruce Richardson <bruce.richardson at intel.com> wrote: > >> On Wed, Apr 20, 2016 at 01:44:00PM +0200, David Marchand wrote: >>> Following discussions with Jan [1] and some cleanup I started on pci code, >>> here is a patchset that reworks pdev drivers registration and hotplug api. >>> >>> The structures changes mentioned in [1] are still to be done, but at least, >>> I think we are one step closer to it. >>> >>> Before this patchset, rte_driver .init semantics differed whether it >>> concerned a pdev or a vdev driver: >>> - for vdev, it actually meant that a devargs is given to the driver so >>> that it creates ethdev / crypto objects, so it was a probing action >>> - for pdev, it only registered the driver triggering no ethdev / crypto >>> objects >>> >>> From my pov, eal hotplug api introduced in this patchset still needs more >>> work so that it does not need to know about devargs. So a new devargs api >>> is needed. >>> >>> Changes since v1: >>> - rebased on HEAD, new drivers should be okay >>> - patches have been split into smaller pieces >>> - RTE_INIT macro has been added, but in the end, I am not sure it is useful >>> - device type has been removed from ethdev, as it was used only by hotplug >>> - getting rid of pmd type in eal patch (patch 5 of initial series) has been >>> dropped for now, we can do this once vdev drivers have been converted >>> >>> [1] http://dpdk.org/ml/archives/dev/2016-January/031390.html >>> >>> Regards, >>> -- >>> David Marchand >>> >> Nice, David. Looks to be some good improvements in there! >> >> /Bruce > > Looks good for me but I've failed to apply the series on top of > > commit 7d619406f31ddf115714b32778c33f6dc0ead470 > Author: Thomas Monjalon <thomas.monjalon at 6wind.com> > Date: Thu Apr 14 20:49:49 2016 +0200 > > pci: remove deprecated specific config > > Jan >
The changes look good to me, nice to remove some of the duplication ethdev/cryptodev. Regarding enabling hot-plugging for crypto devices it looks like it should be possible now to implement a mostly generic device attach/detach functions, just with a simple wrapper to identify a specific crypto or ethdev device structure. Do you have plans to do this? If not, I can have a look as I would like to enable hot-plugging for crypto devices, without duplicating things that still reside in the ethdev library at the moment.