[dpdk-dev] [PATCH v7 00/17] Prepare for rte_device / rte_driver

Jan Viktorin viktorin at rehivetech.com
Mon Aug 1 17:43:02 CEST 2016


Thank you. Hope to find some time this week to do my part.

Jan

On Mon, 1 Aug 2016 16:15:15 +0530
Shreyansh Jain <shreyansh.jain at nxp.com> wrote:

> * Original patch series is from David Marchand [1], [2].
> * Link with patch series [4] from Jan Viktorin for a more complete picture
>   of proposed EAL device heirarchy changes.
> * This might not be in-sync with pmdinfogen as PMD_REGISTER_DRIVER is
>   removed [7].
> 
> David created the original patchset based on the discussions on list [3].
> Being a large piece of work, this patchset introduces first level of changes
> for generalizing the driver-device relationship for supporting hotplug.
> 
> Overview of this work as per David [3], as well as notes from Thomas [9] &
> Jan:
> - pdev -> PCI registeration using helpers (introduced in this series)
> - removal of eth/crypto driver registeration callbacks. These are now handled
>   by PCI registeration helpers (this patch)
> - rte_device=>pci/vdev device heirarchy (by this [4] series)  
> - removal of PMD_PDEV type (this patch) and PMD_VDEV (by this [4] series)
> - Support for hotplugging
> 
> This patchset is based on master (b0a1419)
> 
> [1] http://dpdk.org/ml/archives/dev/2016-January/032387.html
> [2] http://dpdk.org/ml/archives/dev/2016-April/037686.html
> [3] http://dpdk.org/ml/archives/dev/2016-January/031390.html
> [4] http://dpdk.org/ml/archives/dev/2016-July/043645.html
> [5] http://dpdk.org/ml/archives/dev/2016-June/042439.html
> [6] http://dpdk.org/ml/archives/dev/2016-June/042444.html
> [7] http://dpdk.org/ml/archives/dev/2016-July/043172.html
> [8] http://dpdk.org/ml/archives/dev/2016-July/044004.html
> [9] http://dpdk.org/ml/archives/dev/2016-July/044086.html
> 
> Changes since v6:
> - rebase over 16.07 (b0a1419)
> - DRIVER_REGISTER_PCI macro is now passed pci_drv rather than drv
> - review comments regarding missing information in log messages
> - new API additions to 16.11 map objects
> - review comment in [5] and [7] are not included in this series.
> 
> Changes since v5:
> - Rebase over master (11c5e45d8)
> - Rename RTE_EAL_PCI_REGISTER helper macro to DRIVER_REGISTER_PCI to be in sync
>   with DRIVER_REGISTER_PCI_TABLE. [Probably, in future, both can be merged]
> - Modifications to bnxt and thunderx driver PMD registeration files for
>   using the simplified PCI device registeration helper macro
> 
> Changes since v4:
> - Fix compilation issue after rebase on HEAD (913154e) in previous series
> - Retain rte_eth_dev_get_port_by_name and rte_eth_dev_get_name_by_port which
>   were removed by previous patchset. These are being used by pdump library
> 
> Changes since v3:
> - rebase over HEAD (913154e)
> - Update arguments to RTE_EAL_PCI_REGISTER macro as per Jan's suggestion
> - modify qede driver to use RTE_EAL_PCI_REGISTER
> - Argument check in hotplug functions
> 
> Changes since v2:
> - rebase over HEAD (d76c193)
> - Move SYSFS_PCI_DRIVERS macro to rte_pci.h to avoid compilation issue
> 
> 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
> 
> David Marchand, Shreyansh Jain (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                |  34 +--
>  drivers/net/bnxt/bnxt_ethdev.c                  |  16 +-
>  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                  |  39 +---
>  drivers/net/ena/ena_ethdev.c                    |  19 +-
>  drivers/net/enic/enic_ethdev.c                  |  23 +-
>  drivers/net/fm10k/fm10k_ethdev.c                |  23 +-
>  drivers/net/i40e/i40e_ethdev.c                  |  24 +--
>  drivers/net/i40e/i40e_ethdev_vf.c               |  25 +--
>  drivers/net/ixgbe/ixgbe_ethdev.c                |  46 +---
>  drivers/net/mlx4/mlx4.c                         |  17 +-
>  drivers/net/mlx5/mlx5.c                         |  16 +-
>  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/qede/qede_ethdev.c                  |  40 +---
>  drivers/net/ring/rte_eth_ring.c                 |   2 +-
>  drivers/net/szedata2/rte_eth_szedata2.c         |  24 +--
>  drivers/net/thunderx/nicvf_ethdev.c             |  20 +-
>  drivers/net/vhost/rte_eth_vhost.c               |   2 +-
>  drivers/net/virtio/virtio_ethdev.c              |  25 +--
>  drivers/net/virtio/virtio_user_ethdev.c         |   2 +-
>  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  |   8 +-
>  lib/librte_eal/bsdapp/eal/eal_pci.c             |  52 ++++-
>  lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   7 +
>  lib/librte_eal/common/eal_common_dev.c          |  48 +++++
>  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         |  30 ++-
>  lib/librte_eal/common/include/rte_eal.h         |   3 +
>  lib/librte_eal/common/include/rte_pci.h         |  35 +++
>  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 |   7 +
>  lib/librte_ether/rte_ethdev.c                   | 272 ++++--------------------
>  lib/librte_ether/rte_ethdev.h                   |  40 ++--
>  lib/librte_ether/rte_ether_version.map          |   9 +
>  51 files changed, 415 insertions(+), 813 deletions(-)
> 



-- 
   Jan Viktorin                  E-mail: Viktorin at RehiveTech.com
   System Architect              Web:    www.RehiveTech.com
   RehiveTech
   Brno, Czech Republic


More information about the dev mailing list