[dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver

Iremonger, Bernard bernard.iremonger at intel.com
Fri May 27 12:23:47 CEST 2016


Hi David,

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of David Marchand
> Sent: Wednesday, April 20, 2016 12:44 PM
> To: dev at dpdk.org
> Cc: thomas.monjalon at 6wind.com; viktorin at rehivetech.com
> Subject: [dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver
> 
> 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
> 
> David Marchand (17):
>   pci: no need for dynamic tailq init
>   crypto: no need for a crypto pmd type
>   drivers: align pci driver definitions
>   eal: remove duplicate function declaration
>   eal: introduce init macros
>   crypto: export init/uninit common wrappers for pci drivers
>   ethdev: export init/uninit common wrappers for pci drivers
>   drivers: convert all pdev drivers as pci drivers
>   crypto: get rid of crypto driver register callback
>   ethdev: get rid of eth driver register callback
>   eal/linux: move back interrupt thread init before setting affinity
>   pci: add a helper for device name
>   pci: add a helper to update a device
>   ethdev: do not scan all pci devices on attach
>   eal: add hotplug operations for pci and vdev
>   ethdev: convert to eal hotplug
>   ethdev: get rid of device type
> 
>  app/test/virtual_pmd.c                          |   2 +-
>  drivers/crypto/qat/rte_qat_cryptodev.c          |  18 +-
>  drivers/net/af_packet/rte_eth_af_packet.c       |   2 +-
>  drivers/net/bnx2x/bnx2x_ethdev.c                |  35 +--
>  drivers/net/bonding/rte_eth_bond_api.c          |   2 +-
>  drivers/net/cxgbe/cxgbe_ethdev.c                |  24 +-
>  drivers/net/cxgbe/cxgbe_main.c                  |   2 +-
>  drivers/net/e1000/em_ethdev.c                   |  16 +-
>  drivers/net/e1000/igb_ethdev.c                  |  40 +--
>  drivers/net/ena/ena_ethdev.c                    |  20 +-
>  drivers/net/enic/enic_ethdev.c                  |  23 +-
>  drivers/net/fm10k/fm10k_ethdev.c                |  23 +-
>  drivers/net/i40e/i40e_ethdev.c                  |  26 +-
>  drivers/net/i40e/i40e_ethdev_vf.c               |  25 +-
>  drivers/net/ixgbe/ixgbe_ethdev.c                |  47 +---
>  drivers/net/mlx4/mlx4.c                         |  22 +-
>  drivers/net/mlx5/mlx5.c                         |  21 +-
>  drivers/net/mpipe/mpipe_tilegx.c                |   2 +-
>  drivers/net/nfp/nfp_net.c                       |  23 +-
>  drivers/net/null/rte_eth_null.c                 |   2 +-
>  drivers/net/pcap/rte_eth_pcap.c                 |   2 +-
>  drivers/net/ring/rte_eth_ring.c                 |   2 +-
>  drivers/net/szedata2/rte_eth_szedata2.c         |  25 +-
>  drivers/net/vhost/rte_eth_vhost.c               |   2 +-
>  drivers/net/virtio/virtio_ethdev.c              |  26 +-
>  drivers/net/vmxnet3/vmxnet3_ethdev.c            |  23 +-
>  drivers/net/xenvirt/rte_eth_xenvirt.c           |   2 +-
>  examples/ip_pipeline/init.c                     |  22 --
>  lib/librte_cryptodev/rte_cryptodev.c            |  67 +----
>  lib/librte_cryptodev/rte_cryptodev.h            |   2 -
>  lib/librte_cryptodev/rte_cryptodev_pmd.h        |  45 +---
>  lib/librte_cryptodev/rte_cryptodev_version.map  |   9 +-
>  lib/librte_eal/bsdapp/eal/eal_pci.c             |  52 +++-
>  lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   8 +
>  lib/librte_eal/common/eal_common_dev.c          |  39 +++
>  lib/librte_eal/common/eal_common_pci.c          |  17 +-
>  lib/librte_eal/common/eal_private.h             |  20 +-
>  lib/librte_eal/common/include/rte_dev.h         |  29 ++-
>  lib/librte_eal/common/include/rte_eal.h         |   3 +
>  lib/librte_eal/common/include/rte_pci.h         |  32 +++
>  lib/librte_eal/common/include/rte_tailq.h       |   4 +-
>  lib/librte_eal/linuxapp/eal/eal.c               |   7 +-
>  lib/librte_eal/linuxapp/eal/eal_pci.c           |  16 +-
>  lib/librte_eal/linuxapp/eal/rte_eal_version.map |   8 +
>  lib/librte_ether/rte_ethdev.c                   | 316 ++++--------------------
>  lib/librte_ether/rte_ethdev.h                   |  40 ++-
>  lib/librte_ether/rte_ether_version.map          |   9 +-
>  47 files changed, 392 insertions(+), 810 deletions(-)
> 
> --
> 1.9.1

Patches 3,8,16 and 17 no longer apply to the latest master branch.
A rebase is needed.

Regards,

Bernard.
 


More information about the dev mailing list